Capítulo 13 Diversidade Filogenética
Pré-requisitos do capítulo
Pacotes e dados que serão utilizados neste capítulo.
## Pacotes
library(devtools)
library(ecodados)
library(V.PhyloMaker)
library(vegan)
library(ggplot2)
library(GGally)
library(ggpubr)
library(picante)
library(phytools)
library(ape)
library(geiger)
library(phyloregion)
library(pez)
library(reshape2)
library(betapart)
## Dados
minha_arvore <- ecodados::filogenia_aves
especies_plantas <- ecodados::sp_list
comunidade <- ecodados::comm
composicao_especies <- ecodados::composicao_aves_filogenetica
filogenia_aves <- ecodados::filogenia_aves
precipitacao <- precipitacao_filogenetica
13.1 Aspectos teóricos
A diversidade filogenética captura a ancestralidade compartilhada entre as espécies em termos de quantidade da história evolutiva e o grau de parentesco entre as espécies. Pesquisadores têm utilizado diferentes métricas de diversidade filogenética em duas linhas de investigações principais: i) incorporar a história evolutiva das espécies na seleção das áreas prioritárias para conservação visando minimizar a perda da diversidade evolutiva (Vane-Wright, Humphries, and Williams 1991; Faith 1992; Véron et al. 2019), e ii) produzir explicações sobre os processos atuando na montagem das comunidades (Webb et al. 2002; Helmus et al. 2007). A quantidade de artigos abordando ecologia, macroecologia e conservação com diversidade filogenética cresceram exponencialmente nas últimas décadas (Véron et al. 2019). Seguindo esta tendência, o número de métricas de diversidade filogenética propostas não param de aumentar. Tucker et al. (2017) revisaram 70 métricas de diversidade filogenética e classificaram estas métricas em três dimensões: i) riqueza - representa a soma da diferença filogenética acumulada entre táxons, ii) divergência - representa o padrão de diferença filogenética entre táxons de uma assembleia, e iii) regularidade - representa o grau de variação das diferenças filogenéticas entre táxons em uma assembleia. Outros autores utilizaram diferentes classificações (Pavoine and Bonsall 2011; Vellend et al. 2011; Garamszegi 2014). Neste capítulo, iremos seguir a classificação de Tucker et al. (2017) e mostrar algumas das principais métricas dentro de cada uma dessas dimensões.
📝 Importante
Alguns autores recomendam que os pesquisadores não foquem em apenas uma dimensão, mas comparem métricas de diferentes dimensões (Tucker et al. 2017).
13.2 Manipulação de filogenias
Nesta seção, iremos descrever os códigos em R para carregar, plotar, acessar os dados, e excluir e adicionar espécies em filogenias. Estes são códigos introdutórios e necessários para realizarmos as análises de diversidade filogenética. Não iremos descrever os comandos necessários para construir uma filogenia. Estamos assumindo que já existe uma filogenia disponível para os organismos de interesse.
Mas antes, vamos entender as principais terminologias de uma filogenia e analisá-las graficamente (Figura 13.1).
Árvore filogenética: são hipóteses que representam a relação de parentesco entre as espécies (pode ser também indivíduos, genes, etc.) com informações sobre quais espécies compartilham um ancestral comum e a distância (tempo, genética, ou diferenças nos caracteres) que as separam
Nó: o ponto onde uma linhagem dá origem a duas ou mais linhagens descendentes
Politomia: três ou mais linhagens descendendo de um único nó
Ramo: uma linha orientada ao longo de um eixo terminais-raiz que conecta os nós na filogenia
Terminal (do inglês tip): o final do ramo representando uma espécie atual ou extinta (pode também representar gêneros, indivíduos, genes, etc.)
Raiz: representa o ancestral comum de todas as espécies na filogenia
Clado: um grupo de espécies aparentadas descendendo de um único nó na filogenia
Ultramétrica: a distância de todos os terminais até a raiz são idênticas. Característica requerida pela maioria dos índices de diversidade filogenética
Agora vamos plotar a filogenia para visualizar as relações entre as 37 espécies de aves endêmicas da Mata Atlântica. Essa filogenia foi extraída de Jetz et al. (2012). Os dados estão disponíveis no pacote ecodados (Figura 13.2).
## Gráfico
plot.phylo (minha_arvore, type = "phylogram", show.tip.label = TRUE,
show.node.label = TRUE, edge.color = "black", edge.width = 1.5,
tip.color = "black", cex = 0.45, label.offset = 2)
Podemos alterar o formato de apresentação da filogenia usando o argumento type
e a cor dos ramos usando o argumento edge.color
(Figura 13.3).
## Gráfico
plot.phylo (minha_arvore, type = "fan", show.tip.label = TRUE,
show.node.label = TRUE, edge.color = "blue", edge.width = 1.5,
tip.color = "black", cex = 0.45, label.offset = 2)
Percebam que existem vários argumentos para modificar a largura e cor dos ramos, tamanho da fonte, distância entre a filogenia e os nomes das espécies e muito mais. Uma sugestão é visitar o blog do professor Liam Revell (http://blog.phytools.org/) que é o criador e mantenedor do pacote phytools
no R.
Acessar informações da filogenia
Uma das características mais interessantes do R é que podemos acessar as informações do objeto que contém a filogenia. Neste caso, o nosso objeto é a filogenia e, muitas vezes, temos interesse nas informações que estão inseridas dentro da filogenia. Para sabermos quais são as informações que podemos acessar na filogenia, vamos usar a função names()
.
## Nomes
names(minha_arvore)
#> [1] "edge" "edge.length" "Nnode" "tip.label"
Temos acesso a quatro componentes da filogenia: i) ramo (edge
), ii) comprimento do ramo (edge.length
), iii) número de nós (Nnode
), e iv) nome das espécies (tip.label
). Podemos usar o operador $
para acessar estes componentes. Veja abaixo como acessar o nome das 37 espécies de aves na filogenia ou o comprimento de cada um dos ramos da filogenia.
## Nome das espécies
minha_arvore$tip.label
#> [1] "Cranioleuca_pallida" "Synallaxis_ruficapilla" "Phacellodomus_ferrugineigula" "Cinclodes_pabsti"
#> [5] "Conopophaga_melanops" "Herpsilochmus_pileatus" "Pyriglena_leucoptera" "Formicivora_serrana"
#> [9] "Chiroxiphia_caudata" "Neopelma_aurifrons" "Carpornis_cucullata" "Mionectes_rufiventris"
#> [13] "Phylloscartes_kronei" "Dacnis_nigripes" "Ramphocelus_bresilius" "Sporophila_frontalis"
#> [17] "Tangara_seledon" "Euphonia_pectoralis" "Cyanocorax_caeruleus" "Brotogeris_tirica"
#> [21] "Pionopsitta_pileata" "Pyrrhura_frontalis" "Ramphastos_dicolorus" "Pteroglossus_bailloni"
#> [25] "Veniliornis_maculifrons" "Melanerpes_flavifrons" "Malacoptila_striata" "Strix_hylophila"
#> [29] "Pulsatrix_koeniswaldiana" "Megascops_sanctaecatarinae" "Leucopternis_polionotus" "Buteogallus_lacernulatus"
#> [33] "Thalurania_glaucopis" "Stephanoxis_lalandi" "Aramides_saracura" "Ortalis_guttata"
#> [37] "Tinamus_solitarius"
## Comprimento dos ramos
minha_arvore$edge.length
#> [1] 8.3802647 18.8669712 1.7333865 3.6642170 10.6732942 15.2239228 11.0917270 1.7755983 28.3607791 2.9678911 1.7546545
#> [12] 8.0910030 8.0910030 9.8456576 12.8135486 41.1743278 25.4606915 0.5546030 16.9346316 16.9346316 17.4892346 18.4363079
#> [23] 4.6581580 13.5498048 17.3960309 17.3960309 30.9471871 12.4567724 23.1472214 23.1472214 17.4065182 24.1723764 12.4712971
#> [34] 2.4600303 12.6082491 12.5529673 12.6146793 15.2153841 27.6866812 51.8590576 50.4721698 1.0975337 28.3691666 28.3691666
#> [45] 29.4667004 0.4805624 1.9967144 2.7687118 17.0272986 23.4955884 20.5338341 17.3003772 17.3003772 22.2636579 15.5705534
#> [56] 15.5705534 61.3297997 50.6621138 5.3479249 22.3470597 22.3470597 27.6949846 66.5513507 14.5744595 14.5744595 67.7448719
#> [67] 15.3776527 15.3776527 85.3364736 104.2034448 112.5837095
Remover espécies da filogenia
Nas análises de diversidade filogenética, as espécies que estarão presentes na filogenia normalmente são aquelas que foram amostradas no seu estudo. Contudo, muitas vezes utilizamos filogenias contendo espécies que não estão presentes no nosso estudo. Neste caso, precisamos excluir essas espécies da filogenia. A função drop.tip()
faz essa tarefa.
## Remover espécies da filogenia
# Vamos criar um novo nome para o objeto e excluir as espécies Leucopternis polionotus e Aramides saracura da filogenia
filogenia_cortada <- drop.tip(minha_arvore, c("Leucopternis_polionotus", "Aramides_saracura"))
filogenia_cortada
#>
#> Phylogenetic tree with 35 tips and 33 internal nodes.
#>
#> Tip labels:
#> Cranioleuca_pallida, Synallaxis_ruficapilla, Phacellodomus_ferrugineigula, Cinclodes_pabsti, Conopophaga_melanops, Herpsilochmus_pileatus, ...
#>
#> Rooted; includes branch lengths.
Vejam que agora a filogenia tem 35 espécies de aves. As duas espécies que selecionamos foram excluídas da filogenia.
Adicionar espécies na filogenia
Outra situação bem comum é quando precisamos inserir espécies que foram amostradas no nosso estudo, mas não estão presente na filogenia. Para isso, vamos usar a função add.species.to.genus()
. A função force.ultrametric()
é usada para que a filogenia continue sendo ultramétrica (sem essa função a árvore perde os comprimentos dos ramos)
📝 Importante
O comprimento do ramo que a espécie irá receber dependerá de onde você indicar a inserção da espécie.
As opções são:
- root
: insere a espécie no ancestral comum mais recente (MRCA) de todas as espécies do gênero (default)
- random
: insere a espécie aleatoriamente dentro do clado do MRCA contendo todos as espécies do gênero
## Adicionar espécies à filogenia
# Vamos inserir as espécies Megascops_sp1, Carponis_sp, Strix_sp1, Strix_sp2 e
# Strix_sp3 na filogenia
Megascops <- c("Megascops_sp1")
Carpornis <- c("Carpornis_sp1")
Strix <- c("Strix_sp1", "Strix_sp2", "Strix_sp3")
# Inserindo espécies como politomias
filogenia_nova <- add.species.to.genus(force.ultrametric(minha_arvore, message = FALSE), Megascops)
filogenia_nova <- add.species.to.genus(force.ultrametric(filogenia_nova, message = FALSE), Carpornis)
Agora vamos inserir várias espécies dentro do mesmo gênero.
## Adicionar várias espécies à filogenia
# Para inserir mais de uma espécie dentro do gênero, vamos utilizar um loop.
for(i in 1:length(Strix))
filogenia_nova <- add.species.to.genus(force.ultrametric(filogenia_nova, message = FALSE),
Strix[i], where = "root")
Vamos plotar essa nova filogenia (Figura 13.4).
## Gráfico
plot(filogenia_nova, cex = 0.5, no.margin = TRUE)
Vamos fazer outro exemplo usando a função phylo.maker()
do pacote V.PhyloMaker
que adiciona as espécies nos gêneros ou os gêneros nas famílias usando uma filogênia backbone.
Essa função permite a adição dos gêneros ou espécies considerando três cenários diferentes:
- Cenário 1: adiciona gêneros ou espécies como politomias basais dentro das famílias ou gêneros da filogenia respectivamente
- Cenário 2: adiciona gêneros e espécies aleatoriamente nas famílias ou gêneros da filogenia respectivamente
- Cenário 3: adiciona gêneros e espécies nas famílias ou gêneros da filogenia respectivamente usando as abordagens implementadas no Phylomatic e BLADJ
## phylo.maker
# A função phylo.maker usa uma filogenia default de plantas (i.e. GBOTB.extended).
# Caso você queira utilizar outra filogenia, é só alterar o argumento tree
novas_filogenias <- phylo.maker(especies_plantas,
tree = GBOTB.extended,
scenarios = c("S1","S2","S3"))
#> [1] "Note: 2 taxa fail to be binded to the tree,"
#> [1] "Genus7_sp1" "Genus8_sp1"
Vamos essa filogenia criada pelo pacote V.PhyloMaker
(Figura 13.5).
## Gráfico
par(mfrow = c(1, 2))
plot.phylo(novas_filogenias$scenario.1, cex = 0.5, main = "Cenário 1")
plot.phylo(novas_filogenias$scenario.3, cex = 0.5, main = "Cenário 3")
dev.off()
#> null device
#> 1
13.3 Métricas de diversidade alfa filogenética
Métricas de diversidade alfa utilizam os dados de incidência (presença e ausência) ou abundância das espécies para determinar um valor de diversidade para cada comunidade ou sítio de interesse.
Exemplo prático 1
Explicação dos dados
Avaliaremos a diversidade filogenética de 10 comunidades de aves amostradas ao longo de um gradiente de precipitação. Utilizaremos este conjunto de dados para todos os exemplos deste capítulo.
Pergunta
- A variação na distribuição espacial dos valores de diversidade filogenética das comunidades está associada com o gradiente de precipitação?
Predições
- Os valores de diversidade filogenética serão maiores nas comunidades localizadas em regiões com altas precipitações do que em regiões mais secas
Variáveis
Data frame com as comunidades (unidade amostral) nas linhas e as espécies de aves nas colunas (variável resposta)
Data frame com as comunidades (unidade amostral) nas linhas e a variável precipitação anual na coluna (variável preditora)
Arquivo com a filogenia das 37 espécies de aves (variável resposta)
Checklist
Verificar se os data frames de composição de espécies e variáveis ambientais estão com as unidades amostrais nas linhas e variáveis preditoras nas colunas
Verificar se as comunidades nos data frames de composição de espécies e variáveis ambientais estão distribuídos na mesma sequência/ordem nos dois arquivos.
Verificar se o nome das espécies de aves no data frame de composição de espécies é idêntico ao nome das espécies na filogenia.
13.3.1 Riqueza da diversidade alfa filogenética
As métricas de riqueza somam a quantidade da diferença filogenética presente em uma comunidade (Tucker et al. 2017).
Phylogenetic diversity (PD)
Esta métrica é definida pela soma do comprimento dos ramos conectando todas as espécies na comunidade. É a métrica mais conhecida e usada nos estudos de conservação e comunidade (Faith 1992).
Vamos conferir se os nomes das espécies de aves no data frame de composição são os mesmos da filogenia. O resultado OK
indica que os nomes estão corretos. Caso contrário, você deve verificar e arrumar.
## Conferir os nomes das espécies
name.check(filogenia_aves, t(composicao_especies))
#> [1] "OK"
Agora vamos colocar os nomes das espécies do data frame na mesma ordem que os nomes aparecem na filogenia. Isso é obrigatório para algumas funções.
## Colocar os nomes das espécies do data frame na mesma ordem que aparecem na filogenia
composicao_especies_P <- match.phylo.comm(phy = filogenia_aves, comm = composicao_especies)$comm
Abaixo, demonstramos os códigos no R para o cálculo de PD para as comunidades de aves.
## Phylogenetic diversity (PD)
# Calculando a métrica de diversidade filogenética proposta por Faith (1992).
resultados_PD <- pd(composicao_especies_P, filogenia_aves)
# Mostra o valor de PD e riqueza de espécies para cada comunidade.
resultados_PD
#> PD SR
#> Com_1 1259.3151 27
#> Com_2 1293.1521 26
#> Com_3 1222.3102 25
#> Com_4 1254.5410 25
#> Com_5 1021.9670 22
#> Com_6 856.7810 18
#> Com_7 930.6452 15
#> Com_8 678.9394 12
#> Com_9 673.6288 13
#> Com_10 599.6924 9
A comunidade 2 abriga a maior diversidade filogenética com a composição de espécies contemplando 1293,15
milhões de anos (i.e. soma do comprimento dos ramos ligando todas as espécies da comunidade). Por outro lado, a comunidade 10 abriga a menor diversidade filogenética contemplando 599,69
milhões de anos.
📝 Importante
Este índice é correlacionado com a riqueza de espécies. Discutiremos essa questão na seção de modelos nulos.
Phylogenetic Species Richness (PSR)
Esta métrica é calculada multiplicando a riqueza de espécies registrada na comunidade pela Phylogenetic Species Variability (PSV) da comunidade (Helmus et al. 2007). PSR é diretamente comparável ao número de espécies na comunidade, mas inclui o parentesco filogenético entre as espécies.
Abaixo, demonstramos os códigos no R para o cálculo do PSR utilizando os dados das comunidades de aves.
## Phylogenetic Species Richness (PSR)
# Análise com dados de composição das espécies nas comunidades.
resultados_PSR <- psr(composicao_especies_P,filogenia_aves)
# Mostra os valores de PSR para cada comunidade.
resultados_PSR
#> PSR SR vars
#> Com_1 18.084236 27 0.04537904
#> Com_2 18.167183 26 0.04881734
#> Com_3 16.230938 25 0.05205832
#> Com_4 17.153972 25 0.05205832
#> Com_5 13.981597 22 0.06060866
#> Com_6 11.287030 18 0.06933707
#> Com_7 10.279983 15 0.07398666
#> Com_8 7.538134 12 0.07721118
#> Com_9 8.060933 13 0.07627517
#> Com_10 5.720063 9 0.07948474
A comunidade 2 abriga o maior valor de PSR enquanto a comunidade 10 abriga o menor valor. Vejam que PSR é fortemente correlacionado com número de espécies nas comunidades (r = 0.99, p <0.0001). Contudo, existe uma variabilidade residual no PSR em relação ao número de espécies que afeta o ranqueamento das comunidades quando utilizando PSR ou número de espécies. Consequentemente, a escolha da métrica pode gerar diferentes delineamentos de áreas prioritárias para conservação (Helmus et al. 2007).
Phylogenetic Endemism (PE)
Esta métrica calcula a fração dos ramos restritas a regiões específicas. PE identifica áreas ou comunidades que abrigam componentes restritos da diversidade filogenética. PE é uma métrica proposta para auxiliar estudos de conservação estabelecendo critérios para priorizar regiões a serem conservadas com base na importância evolutiva (i.e. partes da filogênia com distribuição espacial limitada) das espécies que ocorrem nestes locais (Rosauer et al. 2009).
Abaixo, demonstramos os códigos no R para o cálculo do PE utilizando os dados das comunidades de aves.
## Phylogenetic Endemism (PE)
# Transformando data.frame em matriz.
dados_matriz <- as.matrix(composicao_especies_P)
# Análise.
resultados_PE <- phylo_endemism(dados_matriz, filogenia_aves,
weighted = TRUE)
# Mostra os valores de PE para cada comunidade.
resultados_PE
#> Com_1 Com_2 Com_3 Com_4 Com_5 Com_6 Com_7 Com_8 Com_9 Com_10
#> 232.09145 272.60106 210.22647 218.89037 146.99281 135.06423 148.65234 79.22402 77.95458 68.50266
O índice PE considera as 10 comunidades como o range espacial máximo. Se todas as espécies ocorressem nas 10 comunidades, o valor de PE seria 1, indicando baixo endemismo filogenético. A comunidade 2 abriga um conjunto de espécies cujo os ramos com distribuição espacial restrita contemplam 272,6
milhões de anos. Por outro lado, a comunidade 10 abriga um conjunto de espécies cujo os ramos com distribuição espacial restrita contemplam 68,5
milhões de anos. Assim, as comunidades 1, 2 e 4 são as áreas que abrigam os maiores endemismo filogenéticos.
Species Evolutionary Distinctiveness (ED)
Esta métrica calcula qual é a fração da árvore filogenética que é atribuída para uma espécie. ED reflete quão evolutivamente isolada uma espécie é comparada com as outras espécies na filogenia (Redding and Mooers 2006). ED é uma métrica proposta para auxiliar estudos de conservação estabelecendo critérios para priorizar as espécies a serem conservadas com base na sua importância evolutiva (exclusividade do comprimento do ramo) que não é compartilhada com outras espécies. Portanto, apenas as informações da filogenia são utilizadas para o cálculo de ED.
Abaixo, demonstramos os códigos no R para o cálculo do ED utilizando os dados das comunidades de aves.
## Species Evolutionary Distinctiveness (ED)
# Análise.
resultados_ED <- evol.distinct(filogenia_aves)
# Mostra os valores de ED para cada espécie.
head(resultados_ED)
#> Species w
#> 1 Cranioleuca_pallida 14.07447
#> 2 Synallaxis_ruficapilla 14.07447
#> 3 Phacellodomus_ferrugineigula 20.05793
#> 4 Cinclodes_pabsti 30.27020
#> 5 Conopophaga_melanops 47.72685
#> 6 Herpsilochmus_pileatus 26.40947
Com base na filogenia estudada, Tinamus solitarius (112,58
milhões de anos), Ortalis guttata (108,39
m.a.) e Aramides saracura (96,86
m.a.) são as espécies com maior distinção evolutiva devido a elevada fração dos ramos não compartilhado com as outras espécies.
13.3.2 Divergência da diversidade alfa filogenética
As métricas de divergência utilizam a média da distribuição das unidades extraídas da árvore filogenética (Tucker et al. 2017).
Mean Pairwise Distance (MPD)
Esta métrica utiliza a matriz de distância filogenética para quantificar a distância média do parentesco entre pares de espécies em uma comunidade. Este índice pode ser calculado considerando dados de incidência ou considerando dados de abundância das espécies. Importante, o MPD é uma métrica que pesa a estrutura interna da filogenia (e.g., relações entre espécies de famílias diferentes) (Webb et al. 2002).
Abaixo, demonstramos os códigos no R para o cálculo do MPD utilizando os dados das comunidades de aves.
Vamos iniciar com dados de incidência (presença e ausência) das espécies nas comunidades. A função cophenetic()
gera uma matriz com as distâncias par a par entre as espécies. Essas distâncias são utilizadas para computar a distância média do parentesco das espécies dentro das comunidades.
## Mean Pairwise Distance (MPD)
# Análise com dados de incidência das espécies nas comunidades.
resultados_MPD_PA <- mpd(composicao_especies_P, cophenetic(filogenia_aves),
abundance.weighted = FALSE)
# Mostra os valores de MPD para cada comunidade.
resultados_MPD_PA
#> [1] 150.7914 157.3158 146.1622 154.5005 143.0727 141.1926 154.3145 141.4292 139.6198 143.0862
A comunidade 9 abriga a composição de espécies mais aparentada (i.e. menor diversidade filogenética) com distância média entre as espécies de 139,62
milhões de anos. Por outro lado, a comunidade 2 abriga a composição de espécies menos aparentada (i.e. maior diversidade filogenética) com distância média de 157,31
milhões anos.
Vamos refazer a análise do MPD, mas desta vez, considerando a abundância das espécies de aves nas comunidades. Para isso, alteramos o argumento abundance.weighted = TRUE
.
## Mean Pairwise Distance (MPD)
# Análise com dados de abundância das espécies nas comunidades.
resultados_MPD_AB <- mpd(composicao_especies_P, cophenetic(filogenia_aves),
abundance.weighted = TRUE)
# Mostra os valores de MPD para cada comunidade.
resultados_MPD_AB
#> [1] 135.0704 143.3156 129.1940 142.8127 131.4027 128.7733 134.0380 132.6389 133.4041 117.8787
Percebam que pesando o comprimento do ramo pela abundância das espécies altera-se os valores do índice de diversidade filogenética. Neste caso, a comunidade 10 passa a ser a comunidade que abriga a composição de espécies mais aparentada (i.e. menor diversidade filogenética) com distância média entre as espécies de 117,88
milhões de anos.
Mean Nearest Taxon Distance (MNTD)
Esta métrica utiliza a matriz de distância filogenética para quantificar a média dos valores mínimos de parentesco entre pares de espécies em uma comunidade. Ou seja, qual o valor médio da distância para o vizinho mais próximo. Este índice pode ser calculado considerando dados de incidência (presença e ausência) ou considerando dados de abundância das espécies. Diferente do MPD, o MNTD é uma métrica terminal que pesa as relações nas pontas da filogenia (e.g. espécies dentro do mesmo gênero) (Webb et al. 2002).
Abaixo, demonstramos os códigos no R para o cálculo do MNTD utilizando os dados das comunidades de aves.
## Mean Nearest Taxon Distance (MNTD)
# Análise com dados de presença e ausência das espécies nas comunidades.
resultados_MNTD_PA <- mntd(composicao_especies_P, cophenetic(filogenia_aves),
abundance.weighted = FALSE)
# Mostra os valores de MPD para cada comunidade.
resultados_MNTD_PA
#> [1] 63.89727 66.15828 72.96912 67.67170 64.93477 63.72337 93.54980 78.24876 62.34565 112.23127
A comunidade 9 abriga a composição de espécies com distância média do vizinho mais próximo de 62,34
milhões de anos. Esse resultado indica que as espécies terminais são mais aparentadas (e.g. espécies do mesmo gênero) do que a composição de espécies da comunidade 10 onde a distância média do vizinho mais próximo é 112,23
milhões de anos (e.g. espécies de gêneros diferentes).
Vamos refazer a análise do MNTD, mas desta vez, considerando a abundância das espécies de aves nas comunidades.
# Análise com dados de abundância das espécies nas comunidades.
resultados_MNTD_AB <- mntd(composicao_especies_P, cophenetic(filogenia_aves),
abundance.weighted = TRUE)
# Mostra os valores de MPD para cada comunidade.
resultados_MNTD_AB
#> [1] 57.11745 53.02212 70.47864 59.12049 61.23225 60.26180 110.13043 97.35404 82.12099 127.70084
Como nos resultados do MPD, pesar o comprimento do ramo pela abundância das espécies altera os valores do MNTD. Neste caso, ao invés da comunidade 9, a comunidade 2 passa a ser a comunidade que abriga a composição de espécies com a menor distância média do vizinho mais próximo (53,02 milhões de anos).
📝 Importante
Perceba que ao determinar as análises com base na incidência ou abundância das espécies, você pode também alterar a interpretação dos padrões encontrados.
Phylogenetic Species Variability (PSV)
Esta métrica estima a quantidade relativa dos comprimentos dos ramos não compartilhados entre as comunidades. Quando todas as espécies em uma amostra não são aparentadas (i.e. filogenia em estrela), o valor do PSV é 1 (um), indicando máxima variabilidade. Quando as espécies tornam-se mais aparentadas, o valor de PSV aproxima-se de 0 (zero), indicando reduzida variabilidade. Os valores esperados de PSV são estatisticamente independentes da riqueza de espécies (Helmus et al. 2007).
📝 Importante
Os valores de PSV são idênticos ao MPD quando a filogenia é ultramétrica.
Abaixo, demonstramos os códigos no R para o cálculo do PSV utilizando os dados das comunidades de aves.
## Phylogenetic Species Variability (PSV)
# Análise com dados de presença e ausência das espécies nas comunidades.
resultados_PSV <- psv(composicao_especies_P,filogenia_aves)
# Mostra os valores de PSV para cada comunidade.
resultados_PSV
#> PSVs SR vars
#> Com_1 0.6697865 27 6.224834e-05
#> Com_2 0.6987378 26 7.221499e-05
#> Com_3 0.6492375 25 8.329332e-05
#> Com_4 0.6861589 25 8.329332e-05
#> Com_5 0.6355271 22 1.252245e-04
#> Com_6 0.6270572 18 2.140033e-04
#> Com_7 0.6853322 15 3.288296e-04
#> Com_8 0.6281778 12 5.361887e-04
#> Com_9 0.6200717 13 4.513324e-04
#> Com_10 0.6355626 9 9.812931e-04
A comunidade 2 abriga a maior variabilidade filogenética (0,69
) enquanto a comunidade 9 abriga a menor variabilidade (0,62
). Perceba que os valores de PSV não são correlacionados com número de espécies nas comunidades (r = 0,59, p = 0,07).
13.3.3 Regularidade da diversidade alfa filogenética
As métricas de regularidade caracterizam a variação das distâncias entre as espécies em uma comunidade (Tucker et al. 2017).
Variance of Pairwise Distance (VPD)
Esta métrica utiliza a matriz de distância filogenética para quantificar a variância do parentesco entre pares de espécies em uma comunidade (Clarke and Warwick 2001).
Abaixo, demonstramos os códigos no R para o cálculo do VPD utilizando os dados das comunidades de aves.
## Variance of Pairwise Distance (VPD)
# Transformando data frame em matriz.
dados_matriz <- as.matrix(composicao_especies_P)
# Transformar os dados para o formato requerido pelo pacote pez.
dados <- comparative.comm(filogenia_aves, dados_matriz)
# Análise.
resultados_VPD <- .vpd(dados, cophenetic(filogenia_aves))
# Mostra os valores de VPD para cada comunidade.
resultados_VPD
#> Com_1 Com_10 Com_2 Com_3 Com_4 Com_5 Com_6 Com_7 Com_8 Com_9
#> 1619.4697 1031.8887 1828.1930 1630.4026 1317.9919 1465.1728 1519.6115 825.5349 1278.0076 1508.0495
A comunidade 2 abriga a maior variância na distância filogenética entre pares de espécies dentro da comunidade (1828,19
milhões de anos) enquanto a comunidade 7 abriga a menor variância entre os pares de espécies (825,53
m.a.).
13.3.4 Correlação entre as métricas de diversidade alfa filogenética
Vamos avaliar a correlação entre os valores das métricas de diversidade alfa filogenética. Vamos criar um data frame com os resultados das métricas separados para as dimensões de riqueza e divergência. Não iremos fazer para regularidade, pois só apresentamos uma métrica de diversidade filogenética nesta dimensão (Figura 13.6).
## Data frame
# Vamos criar um data.frame com os resultados das métricas da dimensão riqueza.
metricas_riqueza <- data.frame(riqueza = resultados_PD$SR,
PD = resultados_PD$PD,
PSR = resultados_PSR$PSR,
PE = resultados_PE)
## Gráfico
# Gráfico mostrando na parte:
# i) inferior a distribuição dos pontos considerando as métricas pareadas
# ii) superior o valor da correlação de pearson
# iii) diagonal a curva de densidade
ggpairs(metricas_riqueza, upper = list(continuous = wrap("cor", size = 4))) +
tema_livro()
Percebam que as três métricas apresentam correlações pareadas acima de 94%. Isso indica que as métricas são redundantes. Portanto, não há necessidade de calcular mais de uma métrica dentro da dimensão da riqueza filogenética. Além disso, as três métricas de diversidade alfa filogenética também apresentam alta correlação com a riqueza de espécies. Veja abaixo na seção de modelos nulos como controlar o efeito da riqueza de espécies nas métricas de diversidade filogenética.
Vamos avaliar a correlação entre os valores das métricas de diversidade alfa filogenética para a dimensão divergência (Figura 13.7).
## Data frame
# Vamos criar um data.frame com os resultados das métricas da dimensão divergência.
metricas_divergencia <- data.frame(riqueza = resultados_PD$SR,
MPD = resultados_MPD_PA,
MPD_AB = resultados_MPD_AB,
MNTD = resultados_MNTD_PA,
MNTD_AB = resultados_MNTD_AB,
PSV = resultados_PSV$PSVs)
## Gráfico
ggpairs(metricas_divergencia, upper = list(continuous = wrap("cor", size = 4))) +
tema_livro()
Como mencionado, as métricas MPD e PSV são idênticas quando usamos uma filogenia ultramétrica. Contudo, as métricas de divergência não apresentam correlações tão altas como as métricas da dimensão riqueza, com exceção do MNTD usando dados de incidência e abundância que foram fortemente correlacionados (r = 0,9). Além disso, estas métricas não são tão afetadas pela riqueza de espécies das comunidades como as métricas da dimensão riqueza.
13.3.5 Associação entre a diversidade alfa filogenética e o ambiente
Vamos avaliar e plotar a relação entre os valores de algumas métrica de diversidade alfa filogenética (variável resposta) e os valores de precipitação (variável preditora) (Figura 13.8).
## Dados
# Vamos inserir os dados de precipitação na planilha metrica_divergencia.
metricas_divergencia$precipitacao <- precipitacao_filogenetica$prec
## Gráficos
MPD_PA_plot <- ggplot(metricas_divergencia, aes(precipitacao, MPD)) +
geom_point(size = 4, shape = 19, col = "darkorange") +
labs(x = "Precipitação (mm)",
y = "Mean Pairwise Distance\n (MPD - Ausência e Presença)") +
tema_livro()
MPD_AB_plot <- ggplot(metricas_divergencia, aes(precipitacao, MPD_AB)) +
geom_point(size = 4, shape = 19, col = "darkorange") +
labs(x = "Precipitação (mm)",
y = "Mean Pairwise Distance\n (MPD - Abundância)", size = 8) +
tema_livro()
MNTD_AP_plot <- ggplot(metricas_divergencia, aes(precipitacao, MNTD)) +
geom_point(size = 4, shape = 19, col = "darkorange") +
labs(x = "Precipitação (mm)",
y = "Mean Nearest Taxon Distance\n (MNTD - Ausência e Presença)",
size = 8) +
tema_livro()
MNTD_AB_plot <- ggplot(metricas_divergencia, aes(precipitacao, MNTD_AB)) +
geom_point(size = 4, shape = 19, col = "darkorange") +
geom_smooth(method = lm, se = FALSE, color = "black") +
labs(x = "Precipitação (mm)",
y = "Mean Nearest Taxon Distance\n (MNTD - Abundância)",
size = 8) +
tema_livro()
ggarrange(MPD_PA_plot, MPD_AB_plot, MNTD_AP_plot, MNTD_AB_plot,
ncol = 2, nrow = 2)
O MPD, que avalia as relações de parentesco mais internas da filogenia (i.e., relações entre espécies de famílias diferentes) não apresentou associação com o gradiente de precipitação. Por outro lado, o MNTD que avalia as relações mais terminais da filogenia (i.e., espécies dentro do mesmo gênero) apresentou uma relação negativa com o gradiente de precipitação. Interessante que a associação só foi significativa quando pesamos a análise pela abundância das espécies nas comunidades. Esses resultados demonstram a importância da seleção das métricas de diversidade filogenética e tipos de dados (e.g., incidência ou abundância) utilizados na interpretação dos padrões observados na natureza.
Vamos ver os gráficos das métricas da dimensão riqueza da diversidade alfa filogenética (Figura 13.9).
## Dados
# Vamos inserir os dados de precipitação na planilha metrica_riqueza.
metricas_riqueza$precipitacao <- precipitacao$prec
## Gráficos
Riqueza_plot <- ggplot(metricas_riqueza, aes(precipitacao, riqueza)) +
geom_point(size = 4, shape = 19, col = "darkorange") +
geom_smooth(method = lm, se = FALSE, color = "black") +
labs(x = "Precipitação (mm)", y = "Riqueza de espécies") +
tema_livro()
PD_plot <- ggplot(metricas_riqueza, aes(precipitacao, PD)) +
geom_point(size = 4, shape = 19, col = "darkorange") +
geom_smooth(method = lm, se = FALSE, color = "black") +
labs(x = "Precipitação (mm)",
y = "Diversidade Filogenética\n (Faith)", size = 8) +
tema_livro()
PSR_plot <- ggplot(metricas_riqueza, aes(precipitacao, PSR)) +
geom_point(size = 4, shape = 19, col = "darkorange") +
geom_smooth(method = lm, se = FALSE, color = "black") +
labs(x = "Precipitação (mm)",
y = "Phylogenetic Species Richness\n (PSR)",
size = 8) +
tema_livro()
PE_plot <- ggplot(metricas_riqueza, aes(precipitacao, PE)) +
geom_point(size = 4, shape = 19, col = "darkorange") +
geom_smooth(method = lm, se = FALSE, color = "black") +
labs(x = "Precipitação (mm)",
y = "Phylogenetic Endemism\n (PE)",
size = 8) +
tema_livro()
ggarrange(Riqueza_plot, PD_plot, PSR_plot, PE_plot, ncol = 2, nrow = 2)
As três métricas de diversidade filogenética foram relacionadas com o gradiente de precipitação. Esse resultado indica que comunidades localizadas em áreas com maior precipitação anual abrigaram maior diversidade filogenética do que comunidades localizadas em áreas mais secas. Contudo, estas métricas são dependentes da riqueza de espécies nas comunidades. Veja abaixo a seção de modelos nulos para entender como lidar com essa dependência.
13.4 Métricas de diversidade beta filogenética
Métricas de diversidade beta filogenética utilizam dados de presença e ausência ou abundância das espécies para determinar um valor que representa a diferença entre comunidades em relação a história evolutiva das linhagens (para detalhes de diversidade beta, consulte o Capítulo 12).
13.4.1 Divergência da diversidade beta filogenética
Community Mean Pairwise Distance (COMDIST)
Esta métrica é uma extensão do MPD. COMDIST calcula a média da distância filogenética entre as espécies de duas comunidades (Webb, Ackerly, and Kembel 2008). COMDIST pode ser calculada usando dados de incidência (presença e ausência) ou abundância das espécies. Esta extensão do MPD também é conhecida na literatura como Dpw (Swenson 2011, 2014).
Abaixo, demonstramos os códigos no R para o cálculo do COMDIST utilizando os dados das comunidades de aves.
## Community Mean Pairwise Distance (COMDIST)
# Análise com dados de presença e ausência das espécies nas comunidades.
resultados_Comdist_PA <- comdist(composicao_especies_P,
cophenetic(filogenia_aves),
abundance.weighted = FALSE)
resultados_Comdist_PA
#> Com_1 Com_2 Com_3 Com_4 Com_5 Com_6 Com_7 Com_8 Com_9
#> Com_2 150.5242
#> Com_3 144.3300 148.7436
#> Com_4 149.4782 153.2992 147.5838
#> Com_5 141.8435 146.9829 139.9606 145.8746
#> Com_6 142.6019 148.3160 140.0376 143.1340 137.9527
#> Com_7 147.7189 150.2248 147.1703 150.3418 144.1481 145.2975
#> Com_8 141.3083 145.6684 138.5875 145.3897 137.0034 137.7062 144.4818
#> Com_9 141.6018 146.4697 138.3515 144.3480 136.9036 136.3453 144.3257 130.7628
#> Com_10 140.8810 145.9333 136.9978 145.1400 136.5394 137.2350 144.3660 130.0691 130.2321
As comunidades 8 e 10 apresentaram a menor média na distância filogenética (130,06
m.a. - espécies de linhagens mais próximas) entre as espécies presente em cada comunidade, enquanto as comunidades 2 e 4 apresentaram a maior média na distância filogenética (153.29
m.a. - espécies de linhagens mais distintas).
Vamos refazer a análise do COMDIST, mas desta vez, considerando a abundância das espécies de aves nas comunidades.
## Community Mean Pairwise Distance (COMDIST)
# Análise com dados de abundância das espécies nas comunidades.
resultados_Comdist_AB <- comdist(composicao_especies_P,
cophenetic(filogenia_aves),
abundance.weighted = TRUE)
Como no caso do MPD, pensar a abundância das espécies altera o padrão de distribuição dos valores de COMDIST. Neste caso, ao invés das comunidades 2 e 4, as comunidades 2 e 10 apresentam a maior média na distância filogenética (155,85
m.a.).
Community Mean Nearest Taxon Distance (COMDISTNT)
Esta métrica é uma extensão do MNTD. COMDISTNT calcula a média da distância filogenética entre o táxon mais próximo das espécies de duas comunidades (Webb, Ackerly, and Kembel 2008). COMDISTNT pode ser calculada usando dados de incidência ou abundância das espécies. Esta extensão do MNTD também é conhecida na literatura como Dnn (Swenson 2011).
Abaixo, demonstramos os códigos no R para o cálculo do COMDISTNT utilizando os dados das comunidades de aves.
## Community Mean Nearest Taxon Distance (COMDISTNT)
# Análise com dados de presença e ausência das espécies nas comunidades.
resultados_Comdistnt_PA <- comdistnt(composicao_especies_P,
cophenetic(filogenia_aves),
abundance.weighted = FALSE)
resultados_Comdistnt_PA
#> Com_1 Com_2 Com_3 Com_4 Com_5 Com_6 Com_7 Com_8 Com_9
#> Com_2 24.65946
#> Com_3 18.56953 22.22310
#> Com_4 26.85806 24.04505 17.87073
#> Com_5 13.15074 34.14223 18.82684 25.54000
#> Com_6 35.43332 49.33726 33.82511 24.59980 28.50505
#> Com_7 30.37968 29.22411 39.89649 34.06858 29.27588 47.69536
#> Com_8 38.16628 48.17376 38.46830 51.02029 32.52846 50.37593 54.37647
#> Com_9 42.58727 54.09441 41.83792 46.29635 36.35245 46.18264 49.85495 10.69759
#> Com_10 45.71452 56.82713 40.39642 60.17935 40.74857 59.63770 60.24556 10.87162 16.12367
As comunidades 8 e 9 apresentaram a menor média na distância do vizinho mais próximo (10,69
m.a. - espécies do mesmo gênero ou gêneros irmãos) entre as espécies presente em cada comunidade, enquanto as comunidades 7 e 10 apresentaram a maior média na distância entre vizinhos (60,24
m.a. - espécies de linhagens distintas).
Vamos refazer a análise do COMDISTNT, mas desta vez, considerando a abundância das espécies de aves nas comunidades.
## Community Mean Nearest Taxon Distance (COMDISTNT)
# Análise com dados de abundância das espécies nas comunidades.
resultados_Comdistnt_AB <- comdistnt(composicao_especies_P,
cophenetic(filogenia_aves),
abundance.weighted = TRUE)
As comunidades 8 e 10 apresentaram a menor média na distância do vizinho mais próximo (5,64
m.a.) entre as espécies presente em cada comunidade, enquanto as comunidades 6 e 10 apresentaram a maior média na distância entre vizinhos (82,62
m.a.).
13.4.2 Correlação entre as métricas de diversidade beta filogenética
Vamos avaliar a correlação entre os valores das métricas da diversidade beta filogenética para a dimensão divergência (Figura 13.10).
## Dados
# Vamos criar um data frame com os resultados das métricas da dimensão divergência.
metricas_divergencia_beta <- data.frame(
COMDIST_PA = as.numeric(resultados_Comdist_PA),
COMDIST_AB = as.numeric(resultados_Comdist_AB),
COMDISTNT_PA = as.numeric(resultados_Comdistnt_PA),
COMDISTNT_AB = as.numeric(resultados_Comdistnt_AB))
## Gráfico
ggpairs(metricas_divergencia_beta,
upper = list(continuous = wrap("cor", size = 4))) +
tema_livro()
Os valores das métricas de divergência filogenética beta apresentam correlações mais baixas do que as métricas da dimensão riqueza. Lembrem-se que COMDIST e COMDISTNT dão pesos diferentes para as relações de parentesco. COMDIST pesa as relações mais basais e internas da filogenia, enquanto COMDISTNT pesa as relações nas partes terminais da filogenia. Portanto, elas podem trazer informações complementares.
13.4.3 Associação entre a divergência da diversidade beta filogenética e o ambiente
Vamos avaliar e plotar a relação entre os valores de algumas métricas de divergência da diversidade beta filogenética (variável resposta) e os valores de precipitação (variável preditora) (Figura 13.11).
## Dados
# Precisamos calcular a dissimilaridade par a par da precipitação entre as comunidades.
dis_prec <- vegdist(precipitacao, "euclidian")
# Vamos inserir estes dados na planilha metrica_divergencia_beta.
metricas_divergencia_beta$dis_prec <- as.numeric(dis_prec)
# Gráficos.
COMDIST_PA_plot <- ggplot(metricas_divergencia_beta,
aes(dis_prec, COMDIST_PA)) +
geom_point(size = 4, shape = 19, col = "darkorange") +
labs(x = "Diferença na precipitação (mm)",
y = "COMDIST\n (Presença e Ausência)") +
tema_livro()
COMDIST_AB_plot <- ggplot(metricas_divergencia_beta,
aes(dis_prec, COMDIST_AB)) +
geom_point(size = 4, shape = 19, col = "darkorange") +
geom_smooth(method = lm, se = FALSE, color = "black") +
labs(x = "Diferença na precipitação (mm)",
y = "COMDIST\n (Abundância)", size = 8) +
tema_livro()
COMDISTNT_PA_plot <- ggplot(metricas_divergencia_beta,
aes(dis_prec, COMDISTNT_PA)) +
geom_point(size = 4, shape = 19, col = "darkorange") +
geom_smooth(method = lm, se = FALSE, color = "black") +
labs(x = "Diferença na precipitação (mm)",
y = "COMDISTNT\n (Ausência e Presença)",
size = 8) +
tema_livro()
COMDISTNT_AB_plot <- ggplot(metricas_divergencia_beta,
aes(dis_prec, COMDISTNT_AB)) +
geom_point(size = 4, shape = 19, col = "darkorange") +
labs(x = "Diferença na precipitação (mm)",
y = " COMDISTNT\n (Abundância)",
size = 8) +
tema_livro()
ggarrange(COMDIST_PA_plot, COMDIST_AB_plot, COMDISTNT_PA_plot,
COMDISTNT_AB_plot, ncol = 2, nrow = 2)
O COMDIST que avalia as relações de parentesco mais internas da filogenia (i.e., relações entre espécies de famílias diferentes) apresentou associação com o gradiente de precipitação quando avaliado pesado pela abundância das espécies. Por outro lado, o COMDISTNT que avalia as relações mais terminais da filogenia (i.e., espécies dentro do mesmo gênero) apresentou uma relação negativa com o gradiente de precipitação quando avaliado usando a incidência das espécies.
13.4.4 Riqueza da diversidade beta filogenética
Phylogenetic index of beta diversity (Phylosor)
Phylosor é uma métrica de similaridade e determina o comprimento total dos ramos da filogenia que é compartilhado entre pares de comunidades (Bryant et al. 2008).
Abaixo, demonstramos os códigos no R para o cálculo do Phylosor utilizando os dados das comunidades de aves.
## Phylogenetic index of beta diversity (Phylosor)
# Análise com dados de presença e ausência das espécies nas comunidades.
resultados_Phylosor <- phylosor(composicao_especies_P, filogenia_aves)
# Mostra uma matriz triangular com a similaridade entre a fração dos ramos
# compartilahdos entre duas comunidades
resultados_Phylosor
#> Com_1 Com_2 Com_3 Com_4 Com_5 Com_6 Com_7 Com_8 Com_9
#> Com_2 0.7856828
#> Com_3 0.8052839 0.7794964
#> Com_4 0.7831520 0.8066793 0.8595462
#> Com_5 0.8586780 0.6919478 0.8083230 0.7930266
#> Com_6 0.6717414 0.5827551 0.6977734 0.7494945 0.7383098
#> Com_7 0.7414284 0.7325727 0.6836231 0.7289449 0.7384561 0.6425717
#> Com_8 0.6826177 0.6283918 0.6443193 0.6404373 0.7123197 0.5928097 0.6146854
#> Com_9 0.6789983 0.6074676 0.6405220 0.6727656 0.7082867 0.6169977 0.6506880 0.9016007
#> Com_10 0.6264594 0.5709671 0.6422800 0.5823317 0.6493935 0.5362575 0.6015983 0.9106658 0.8607104
As espécies presentes nas comunidades 6 e 10 compartilham a menor porção do comprimento dos ramos da filogenia (53% - menor similaridade entre os pares de comunidades), enquanto as espécies presentes nas comunidades 8 e 10 compartilham grande parte dos comprimentos dos ramos da filogenia (91% - maior similaridade entre os pares de comunidades).
Unique Fraction metric (UniFrac)
UniFrac é uma métrica de dissimilaridade e determina a fração única da filogenia contida em cada uma das duas comunidades (Lozupone and Knight 2005).
Abaixo, demonstramos os códigos no R para o cálculo da UniFrac utilizando os dados das comunidades de aves.
## Unique Fraction metric (UniFrac)
# Análise com dados de presença e ausência das espécies nas comunidades.
resultados_UniFrac <- unifrac(composicao_especies_P, filogenia_aves)
As espécies presentes nas comunidades 6 e 10 apresentam a menor dissimilaridade (16,4 % - maior fração única da filogenia em cada comunidade), enquanto as espécies presentes nas comunidades 8 e 10 apresentam a maior dissimilaridade (63,36 % - maior compartilhamento de ramos da filogenia entre os pares de comunidades).
13.4.5 Correlação entre Phylosor e Unifrac
Vamos calcula a correlação entre as duas métricas de Riqueza da diversidade beta filogenética: Phylosor e Unifrac (Figura 13.12).
## Dados
# Vamos criar um data.frame com os resultados das métricas separados
# para as dimensões de riqueza e divergência.
metricas_riqueza_beta <- data.frame(Phylosor = as.numeric(resultados_Phylosor),
UniFrac = as.numeric(resultados_UniFrac))
## Gráfico
ggpairs(metricas_riqueza_beta, upper=list(continuous = wrap("cor", size = 4))) +
tema_livro()
📝 Importante
Os valores de Phylosor e UniFrac apresenta 99% de correlação entre eles. Portanto, essas duas métricas identificam padrões idênticos e não devem ser utilizadas simultaneamente.
13.4.6 Associação entre a riqueza da diversidade beta filogenética e o ambiente
Vamos avaliar e plotar a relação entre os valores de algumas métricas de riqueza da diversidade beta filogenética (variável resposta) e os valores de precipitação (variável preditora) (Figura 13.13).
## Dados
# Vamos inserir os dados de precipitação na planilha metrica_riqueza_beta.
metricas_riqueza_beta$dis_prec <- as.numeric(dis_prec)
## Gráficos
# Phylosor.
plot_phylosor <- ggplot(metricas_riqueza_beta, aes(dis_prec, Phylosor)) +
geom_point(size = 4, shape = 19, col = "darkorange") +
geom_smooth(method = lm, se = FALSE, color = "black") +
scale_y_continuous(limits = c(0, 1.0)) +
labs(x = "Diferença na precipitação (mm)",
y = "Phylosor", size = 8) +
tema_livro()
# Unifrag.
plot_unifrac <- ggplot(metricas_riqueza_beta, aes(dis_prec, UniFrac)) +
geom_point(size = 4, shape = 19, col = "darkorange") +
geom_smooth(method = lm, se = FALSE, color = "black") +
scale_y_continuous(limits = c(0, 1.0)) +
labs(x = "Diferença na precipitação (mm)",
y = "UniFrac", size = 8) +
tema_livro()
ggarrange(plot_phylosor, plot_unifrac, ncol = 2)
Phylosor (similaridade) e UniFrac (dissimilaridade) foram relacionadas com o gradiente de precipitação. Comunidades com quantidade de precipitação parecidas abrigaram linhagens similares enquanto comunidades que recebem quantidade de precipitação diferentes abrigam linhagens mais distintas.
13.4.7 Partição da diversidade beta filogenética
As métricas, Phylosor e UniFrac, podem ser particionadas em dois componentes (Baselga 2010; Leprieur et al. 2012): i) substituição (do inglês turnover) de espécies entre as comunidades; e ii) componente de aninhamento (do inglês nestedness) que representa a perda ou ganho de espécies entre comunidades atribuídos a diferença na riqueza de espécies. A partição da diversidade beta nestes componentes permite avaliar diferentes hipóteses sobre os processos e mecanismos atuando na montagem de comunidades.
Abaixo, demonstramos os códigos no R para o cálculo da partição da diversidade beta filogenética utilizando os dados das comunidades de aves.
## Partição
# Temos que transformar os dados para presença e ausência das espécies nas comunidades.
dados_PA <- decostand(composicao_especies_P, "pa")
# Partição dos componentes do Phylosor.
resultados_Phylosor_particao <- phylo.beta.pair(dados_PA,
filogenia_aves,
index.family = "sorensen")
Vamos refazer a análise para UniFrac.
# Partição dos componentes do UniFrac.
resultados_UniFrac_particao <- phylo.beta.pair(dados_PA,
filogenia_aves,
index.family = "jaccard")
# Resultado tem três matrizes:
# i) dissimilaridade total (phylo.beta.jac);
# ii) componente substituição de espécies (phylo.beta.jtu); e
# iii) componente aninhamento (phylo.beta.jne).
# resultados_UniFrac_particao (para ver os resultados corra este comando)
Gráfico com os resultados dos componentes substituição e aninhamento da diversidade beta filogenética - Phylosor (Figura 13.14).
## Dados
# Vamos preparar os dados para o gráfico.
particao_phylosor <- data.frame(
substituicao = as.numeric(resultados_Phylosor_particao$phylo.beta.sim),
aninhamento = as.numeric(resultados_Phylosor_particao$phylo.beta.sne),
sorensen = as.numeric(resultados_Phylosor_particao$phylo.beta.sor),
dis_prec = as.numeric(dis_prec))
## Gráficos
sorensen_plot <- ggplot(particao_phylosor,
aes(dis_prec, sorensen)) +
geom_point(size = 4, shape = 19, col = "darkorange") +
geom_smooth(method = lm, se = FALSE, color = "black") +
labs(x = "", y = "Sorensen") +
tema_livro()
subst_plot <- ggplot(particao_phylosor,
aes(dis_prec, substituicao)) +
geom_point(size = 4, shape = 19, col = "darkorange") +
geom_smooth(method = lm, se = FALSE, color = "black") +
labs(x = "Diferença na precipitação\n (mm)",
y = "Componente Substituição", size = 8) +
tema_livro()
aninha_plot <- ggplot(particao_phylosor,
aes(dis_prec, aninhamento)) +
geom_point(size = 4, shape = 19, col = "darkorange") +
geom_smooth(method = lm, se = FALSE, color = "black") +
labs(x = "", y = "Componente aninhamento", size = 8) +
tema_livro()
ggarrange(sorensen_plot, subst_plot, aninha_plot,
ncol = 3, nrow = 1)
Percebam que o componente substituição é maior entre comunidades que apresentam diferenças altas na quantidade de precipitação, enquanto o componente aninhamento é maior entre as comunidades que apresentam quantidade similar de precipitação.
13.5 Modelos Nulos
Em muitos casos, os valores de diversidade filogenética são correlacionados com a riqueza de espécies nas comunidades. Por exemplo, se um pesquisador relata que duas comunidades apresentam diferentes valores de PD, é impossível saber se esta diferença é simplesmente porque elas têm diferentes valores de riqueza de espécies ou se há algum fator fundamental sobre a informação filogenética que é importante. Outra questão abordada nos estudos de montagem das comunidades é saber se os valores observados para as métricas (e.g. MPD ou MNTD) relacionadas com a estrutura filogenética das comunidades seriam diferentes se a colonização das espécies do pool regional fosse aleatória? Os modelos nulos respondem a estas perguntas. Contudo, a definição do pool regional não é uma tarefa trivial (Lessard et al. 2012; Carstensen et al. 2013).
Os modelos nulos são construídos considerando processos ecológicos ou evolutivos de interesse. Eles geram padrões que são baseados na aleatorização dos dados ecológicos ou amostragens aleatórias de uma distribuição conhecida ou hipotética (Gotelli and Graves 1996). Neste caso, alguns elementos dos dados (como colunas ou linhas) são mantidos constantes, e outros são permitidos variar aleatoriamente para criar novos padrões. O principal motivo para a construção de modelos nulos é produzir um padrão que seria esperado na ausência de um mecanismo ecológico específico (Gotelli and Graves 1996). Contudo, ressaltamos que os modelos nulos podem revelar padrões não comuns, mas eles não podem determinar os mecanismos responsáveis por gerar estes padrões (Gotelli and Graves 1996).
Os modelos nulos empregados para contrapor os padrões observados pelas métricas de diversidade filogenética utilizam a aleatorização dos dados de duas formas principais: i) aleatorizando o nome das espécies na árvore filogenética mantendo a estrutura e composição da matriz de co-ocorrência das espécies e o comprimento dos ramos da árvore inalterados; e ii) aleatorizando as linhas e/ou colunas da matriz de co-ocorrência das espécies (Gotelli 2000; Ulrich and Gotelli 2010). De forma geral, nas análises de diversidade filogenética as aleatorizações são repetidas 999 vezes (pode ser mais ou menos, a critério do pesquisador) e calcula-se a média e o desvio padrão dos valores gerados pelos modelos. Com estes dados, calcula-se o tamanho do efeito padronizado (do inglês Standardized Effect Size - SES) utilizando a seguinte fórmula:
- SES = (valor observado - média dos valores gerados na aleatorização)/ desvio padrão dos valores gerados na aleatorização
Os valores de SES são utilizados para rejeitar ou não a hipótese nula de que o padrão observado difere do esperado ao acaso. Contudo, tenha em mente que a definição do esquema de aleatorização dos modelos nulos não é meramente uma questão técnica (Götzenberger et al. 2012). A definição do esquema de aleatorização irá determinar quais os mecanismos ecológicos são permitidos ou excluídos no modelo nulo (Götzenberger et al. 2012). Consequentemente, ele estará avaliando diferentes hipóteses nulas.
Abaixo, demonstramos os códigos no R para calcular os modelos nulos para as métricas de diversidade filogenética.
Nearest Relative Index (NRI) ou Standardized Effect Size of MPD
Esta métrica calcula o tamanho do efeito padronizado para a métrica MPD. Contudo, NRI é calculado multiplicando os resultados do SES por -1. Valores positivos de NRI indicam agrupamento filogenético e valores negativos de NRI indicam dispersão filogenética (Webb, Ackerly, and Kembel 2008).
Veja a ajuda desta função usando ?ses.mpd()
para ver todas as possibilidades de modelos nulos disponíveis.
## NRI ou SES_MPD
resultados_SES_MPD <- ses.mpd(composicao_especies_P, cophenetic(filogenia_aves),
null.model = "taxa.labels",
abundance.weighted = FALSE,
runs = 999)
# Mostra a riqueza de espéices, MPD observado, média e desvio padrão dos
# valores de MPD das aleatorizações, SES e o valor de p.
head(resultados_SES_MPD)
#> ntaxa mpd.obs mpd.rand.mean mpd.rand.sd mpd.obs.rank mpd.obs.z mpd.obs.p runs
#> Com_1 27 150.7914 153.9953 3.891718 215 -0.8232597 0.215 999
#> Com_2 26 157.3158 153.5833 4.367399 770 0.8546215 0.770 999
#> Com_3 25 146.1622 153.9931 4.476428 52 -1.7493791 0.052 999
#> Com_4 25 154.5005 153.5113 4.720348 551 0.2095591 0.551 999
#> Com_5 22 143.0727 153.7490 5.294432 24 -2.0165115 0.024 999
#> Com_6 18 141.1926 153.9709 6.951990 34 -1.8380846 0.034 999
Somente as comunidades 5 e 6 apresentaram valores de p < 0.05 indicando que os resultados observados de MPD são menores que o esperado ao acaso (i.e., valores simulados). Neste caso, a composição de espécies presentes nessas duas comunidades apresenta agrupamento filogenético. Por outro lado, os valores de MPD observados para as outras comunidades são similares aos valores obtidos para comunidades simuladas com a redistribuição dos nomes das espécies na filogenia.
Nearest Taxon Index (NTI) ou Standardized Effect Size of MNTD
Esta métrica calcula o tamanho do efeito padronizado para a métrica MNTD. Contudo, NTI é calculado multiplicando os resultados do SES por -1. Valores positivos de NTI indicam agrupamento filogenético e valores negativos de NTI indicam dispersão filogenética (Webb, Ackerly, and Kembel 2008).
## NTI ou SES_MNTD
resultados_SES_MNTD <- ses.mntd(composicao_especies_P, cophenetic(filogenia_aves),
null.model = "taxa.labels",
abundance.weighted = FALSE,
runs = 999)
# Mostra a riqueza de espéices,MNTD observado, média e desvio padrão dos
# valores de MNTD das aleatorizações, SES e o valor de p.
head(resultados_SES_MNTD)
#> ntaxa mntd.obs mntd.rand.mean mntd.rand.sd mntd.obs.rank mntd.obs.z mntd.obs.p runs
#> Com_1 27 63.89727 63.30504 6.864478 518 0.08627467 0.518 999
#> Com_2 26 66.15828 64.81499 7.217753 575 0.18610860 0.575 999
#> Com_3 25 72.96912 65.76333 7.754651 811 0.92922217 0.811 999
#> Com_4 25 67.67170 65.70886 7.752673 600 0.25318258 0.600 999
#> Com_5 22 64.93477 69.46545 9.133114 305 -0.49607138 0.305 999
#> Com_6 18 63.72337 76.12099 11.819687 162 -1.04889562 0.162 999
Somente a comunidade 9 apresentou valor de p < 0.05 indicando que o resultado observado de MNTD foi menor que o esperado ao acaso (i.e., valores simulados). Neste caso, a composição de espécies presente nessa comunidade apresenta agrupamento filogenético. Por outro lado, os valores de MNTD observados para as outras comunidades são similares aos valores obtidos para comunidades simuladas com a redistribuição dos nomes das espécies na filogenia.
Standardized Effect Size of PD
Esta métrica calcula o tamanho do efeito padronizado para a métrica PD (Webb, Ackerly, and Kembel 2008).
## SES_PD
resultados_SES_PD <- ses.pd(composicao_especies_P, filogenia_aves,
null.model = "independentswap",
runs = 999)
# Mostra a riqueza de espéices,MNTD observado, média e desvio padrão dos
# valores de PD das aleatorizações, SES e o valor de p.
head(resultados_SES_PD)
#> ntaxa pd.obs pd.rand.mean pd.rand.sd pd.obs.rank pd.obs.z pd.obs.p runs
#> Com_1 27 1259.315 1272.480 66.74674 429 -0.1972372 0.429 999
#> Com_2 26 1293.152 1238.690 68.04238 799 0.8004172 0.799 999
#> Com_3 25 1222.310 1201.471 65.51971 624 0.3180526 0.624 999
#> Com_4 25 1254.541 1205.879 68.34858 750 0.7119674 0.750 999
#> Com_5 22 1021.967 1096.024 67.73466 129 -1.0933409 0.129 999
#> Com_6 18 856.781 950.239 64.54864 76 -1.4478696 0.076 999
Nenhuma comunidade apresentou valor de p < 0.05. Neste caso, os valores observados de PD são similares aos valores obtidos para comunidades simuladas com a redistribuição dos nomes das espécies na filogenia.
Standardized effect size do Phylosor
Não há pacotes que calculam o SES para a métrica Phylosor. Assim, iremos usar a função phylosor.rnd()
para criar modelos nulos para o Physolor, e em seguida, iremos usar uma função criada por Pedro Braga & Katherine Hébert (disponível em https://pedrohbraga.github.io/CommunityPhylogenetics-Workshop/CommunityPhylogenetics-Workshop.html) para calcular os valores de SES e os valores de P.
## Standardized effect size do Phylosor
# Modelo nulo que rearranja o nome das espécies na filogenia.
modelos_nulo <- phylosor.rnd(composicao_especies_P, filogenia_aves,
null.model = "taxa.labels", runs = 9)
# Função para calcular o SES eo valor de P.
ses.physo <- function(obs, nulo_phylosor){
nulo_phylosor <- t(as.data.frame(lapply
(nulo_phylosor, as.vector)))
physo.obs <- as.numeric(obs)
physo.mean <- apply(nulo_phylosor, MARGIN = 2,
FUN = mean, na.rm = TRUE)
physo.sd <- apply(nulo_phylosor, MARGIN = 2,
FUN = sd, na.rm = TRUE)
physo.ses <- (physo.obs - physo.mean)/physo.sd
physo.obs.rank <- apply(X = rbind(physo.obs,
nulo_phylosor), MARGIN = 2,
FUN = rank)[1, ]
physo.obs.rank <- ifelse(is.na(physo.mean), NA,
physo.obs.rank)
data.frame(physo.obs, physo.mean, physo.sd,
physo.obs.rank, physo.ses,
physo.obs.p = physo.obs.rank/
(dim(nulo_phylosor)[1] + 1))
}
## Resultados
resultados <- ses.physo (resultados_Phylosor, modelos_nulo)
head(resultados)
#> physo.obs physo.mean physo.sd physo.obs.rank physo.ses physo.obs.p
#> 1 0.7856828 0.7915561 0.04011508 6 -0.1464099 0.6
#> 2 0.8052839 0.8813422 0.03356047 1 -2.2663056 0.1
#> 3 0.7831520 0.8174306 0.04545519 2 -0.7541175 0.2
#> 4 0.8586780 0.8687616 0.03659588 5 -0.2755416 0.5
#> 5 0.6717414 0.7460991 0.02806215 1 -2.6497526 0.1
#> 6 0.7414284 0.6904007 0.04842748 9 1.0536941 0.9
Nenhum valor de similaridade entre pares comunidade apresentou valor de p < 0.05. Neste caso, os valores de Phylosor observados são similares aos valores obtidos para as comunidades simuladas com a redistribuição dos nomes das espécies na filogenia.
13.6 Para se aprofundar
13.6.1 Livros
- Recomendamos aos interessados(as) os livros: i) Swenson (2014) Functional and Phylogenetic Ecology in R; ii) Paradis (2012) Analysis of Phylogenetics and Evolution in R; iii) Cadotte & Davies (2016) Phylogenies in Ecology, iv) Gotelli & Graves (1996) Null Models in Ecology; e v) Magurran & McGill (2011) Biological Diversity Frontiers in Measurement and Assessment.
13.6.2 Links
O blog Ferramentas filogenéticas para biologia comparada do pesquisador Liam Revell é uma ferramenta excelente para obter informações e aplicações das análises filogenéticas diretamente no R.
13.7 Exercícios
13.1
Carregue os dados - anuros_composicao
(i.e., 211 espécies de anuros coletados em 44 localidades na Mata Atlântica), anuros_ambientais
(i.e., variáveis climáticas, topográficas e coordenadas geográficas) e filogenia_anuros
(filogenia das 211 espécies) - que estão no pacote ecodados
. Use a função varpart()
do pacote vegan
para testar a importância relativa dos efeitos da precipitação anual, range altitudinal e temperatura anual na distribuição espacial da diversidade filogenética (PD) e Endemismo filogenético (PE). Calcule o SES para verificar se os resultados da diversidade filogenética (PD) diferem do esperado ao acaso devido ao número de espécies em cada comunidade. Qual a sua interpretação sobre os resultados?
13.2
Carregue os dados - anuros_composicao
(i.e., 211 espécies de anuros coletados em 44 localidades na Mata Atlântica), anuros_ambientais
(i.e., variáveis climáticas, topográficas e coordenadas geográficas) e filogenia_anuros
(filogenia das 211 espécies) - que estão no pacote ecodados. Use a função varpart()
do pacote vegan
para testar a importância relativa dos efeitos da precipitação anual, range altitudinal e temperatura anual na distribuição espacial do NRI e NTI. Qual a sua interpretação sobre os resultados?
13.3
Carregue os dados - anuros_composicao
(i.e., 211 espécies de anuros coletados em 44 localidades na Mata Atlântica), anuros_ambientais
(i.e., variáveis climáticas, topográficas e coordenadas geográficas) e filogenia_anuros
(filogenia das 211 espécies) - que estão no pacote ecodados. Use a função varpart()
do pacote vegan
para testar a importância relativa dos efeitos da precipitação anual, range altitudinal e distância geográfica na distribuição espacial dos diferentes componentes da diversidade beta filogenética (Phylosor). Qual a sua interpretação sobre os resultados?