Aula 07 — Estados ancestrais e visualização

Parcimônia de mudança quadrada e máxima verossimilhança; o nó e a raiz passo a passo; incerteza; contMap e fenograma; tendência com fósseis; marginal × conjunta e mapeamento estocástico; gráficos do phytools e filomorfoespaço.

Aula 7 · Como era o ancestral? · Métodos Filogenéticos Comparativos (PPGBA/UFMS)

No mapa dos métodos, esta aula cobre a coluna Como era o ancestral? para atributos contínuos e discretos. Os exemplos usam a árvore-guia, os Anolis e o modo de alimentação das enguias (Collar et al. 2014).

Slides

Abrir slides

As figuras dos slides foram geradas em R; o código está em R/aula07_ancestrais.R.

Em 3 minutos

  1. Sob BM, a estimativa por máxima verossimilhança coincide com a parcimônia de mudança quadrada ponderada; sempre traz um intervalo de confiança, em geral largo.
  2. A estimativa depende do modelo: uma tendência ignorada enviesa os ancestrais, e só fósseis permitem detectá-la.
  3. Em caracteres discretos, a estimativa marginal dá probabilidades por nó; o mapeamento estocástico simula histórias e conta as mudanças.

Erro comum: apresentar estados ancestrais sem incerteza, ou estimá-los quando a pergunta não precisa deles.

Conteúdo

  1. Por que estimar estados ancestrais
  2. Atributos contínuos: parcimônia, verossimilhança, o nó 13 e a raiz passo a passo, incerteza, contMap, fenograma com IC, tendência com fósseis
  3. Atributos discretos: marginal, conjunta e mapeamento estocástico; os Squamata da Aula 6
  4. Visualização: os gráficos do phytools e o filomorfoespaço

Código R (aula prática)

  • Roteiro prático (executado)
    Parcimônia × ML na árvore-guia, o nó 13 e o re-enraizamento, incerteza, contMap e fenograma nos Anolis, tendência com fósseis, marginal × conjunta e mapeamento estocástico nas enguias, filomorfoespaço. O código roda na página.
  • Roteiro da edição de 2020 · aula-5-sexta.R
    Gráficos do phytools e do phylosignal, PCA filogenética e PVR.
  • Os estados ancestrais de 2020 estão na primeira metade do roteiro da Aula 3.

Pacotes: ape, phytools.

Dados utilizados

Desafio

Entregue um script .R que rode do zero numa sessão limpa, as figuras pedidas e até uma página de interpretação. Critério: o script roda (30 %); as escolhas estão justificadas (30 %); a interpretação está correta (40 %).

O ancestral dos Centrarchidae. Com data(sunfish.tree, sunfish.data, package = "phytools"): (1) para o modo de alimentação (feeding.mode), ajuste ER e ARD (phytools::fitMk()), estime as probabilidades marginais nos nós (phytools::ancr()) e desenhe-as; (2) faça 200 mapas estocásticos e resuma o número de mudanças em cada sentido; (3) para a abertura da boca (gape.width), estime os estados ancestrais com IC 95% (phytools::fastAnc()) e faça um contMap. Avaliação: diz quão incerta é a raiz nos dois atributos e não apresenta as estimativas como valores conhecidos.

  • As seções 1, 3, 5 e 6 do roteiro fazem cada passo com outros dados.
  • sunfish.tree vem com o modo de alimentação mapeado (classe simmap): para o fitMk() e o fastAnc(), use as.phylo(sunfish.tree).
  • feeding.mode é um fator; para o vetor com nomes: setNames(sunfish.data$feeding.mode, rownames(sunfish.data)).
  • Fixe a semente antes do make.simmap().
library(ape); library(phytools)
data(sunfish.tree, sunfish.data, package = "phytools")
arv <- as.phylo(sunfish.tree)
modo <- setNames(sunfish.data$feeding.mode, rownames(sunfish.data))
boca <- setNames(sunfish.data$gape.width, rownames(sunfish.data))
# 1. fitMk(arv, modo, model = "ER") e "ARD"; ancr(...); pizzas nos nós
# 2. set.seed(1); make.simmap(arv, modo, model = ..., nsim = 200); summary(...)
# 3. fastAnc(arv, boca, CI = TRUE); contMap(arv, boca)

As respostas comentadas serão publicadas aqui depois do prazo de entrega.

Leituras recomendadas