Aula 06 — Atributos discretos

Dos modelos de DNA ao Mk; a matriz Q e P(t) = exp(Qt) passo a passo; a perda dos membros nos Squamata; multiestado (ER, SYM, ARD); taxas ocultas; evolução correlacionada de Pagel ao corHMM; o modelo de limiar.

Aula 6 · Como evolui? Estão associados? · Métodos Filogenéticos Comparativos (PPGBA/UFMS)

No mapa dos métodos, esta aula cobre a linha dos atributos discretos nas colunas Como evolui? e Estão associados?. O exemplo central é a perda dos membros nos Squamata (Brandley et al. 2008).

Slides

Abrir slides

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

Em 3 minutos

  1. O Mk descreve a evolução de estados discretos por uma matriz Q de taxas instantâneas; as probabilidades ao longo de um ramo vêm de P(t) = eQt.
  2. ER, SYM e ARD diferem no número de taxas livres; compare-os por AICc, e considere taxas que mudam na árvore (taxas ocultas).
  3. O teste de Pagel sofre de pseudorreplicação: uma única mudança conjunta pode parecer correlação. Compare com modelos nulos que têm taxas ocultas (corHMM).

Erro comum: confiar num p < 0,001 do teste de Pagel sem olhar quantas vezes os caracteres mudaram na árvore.

Conteúdo

  1. Do DNA ao Mk: processos de Markov e modelos de substituição
  2. O modelo Mk para um caráter binário, passo a passo
  3. Dados reais: a perda dos membros nos Squamata
  4. Caracteres multiestado
  5. Taxas ocultas
  6. Evolução correlacionada: de Pagel ao corHMM
  7. O modelo de limiar

Código R (aula prática)

  • Roteiro prático (executado)
    Q e P(t) passo a passo, Mk nos Squamata (ER e ARD), simulações, multiestado, taxas ocultas (corHMM), teste de Pagel e o teste com taxas ocultas, e o modelo de limiar. O código roda na página.*
  • Na edição de 2020: o Mk nos Squamata no roteiro da Aula 2 e o teste de Pagel e o limiar no roteiro da Aula 4.

Pacotes: ape, phytools, geiger, corHMM.

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 %).

Correlação ou pseudorreplicação? Use fitPagel-challenge.csv e fitPagel-challenge.tre. (1) Desenhe a árvore com os dois caracteres nas pontas. (2) Rode o teste de Pagel (phytools::fitPagel()). (3) Rode o teste com taxas ocultas (corHMM::fitCorrelationTest()) e monte a tabela de AICc e pesos dos quatro modelos. (4) Estime quantas vezes cada caráter mudou (mapeamento estocástico, Aula 7, ou só pela figura). Avaliação: as conclusões dos dois testes são comparadas e a de correlação é discutida à luz do número de mudanças.

  • A seção 6 do roteiro faz os dois testes com os dados da prática; compare as suas conclusões com as de lá.
  • O fitPagel() quer dois vetores com nomes; o fitCorrelationTest(), um data.frame com a espécie na primeira coluna. Ele leva alguns minutos.
  • Para desenhar os dois caracteres: plotTree() e tiplabels(pch = ...), ou phytools::dotTree().
  • Para contar as mudanças, make.simmap() em cada caráter e summary() dos mapas (Aula 7).
library(ape); library(phytools); library(corHMM)
X <- read.csv("fitPagel-challenge.csv", row.names = 1)
arv <- read.tree("fitPagel-challenge.tre")
x <- setNames(X$x, rownames(X)); y <- setNames(as.character(X$y), rownames(X))
# 1. figura; 2. fitPagel(arv, x, y)
# 3. fitCorrelationTest(arv, data.frame(sp = rownames(X), x = X$x, y = X$y))
# 4. make.simmap(arv, x, nsim = 100) e o mesmo para y

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

Leituras recomendadas