Aula 01 — A árvore e os dados

Por que espécies não são pontos independentes. Ler e escrever árvores (Newick, Nexus), de onde vem a árvore, bases de árvores e de atributos, desenho de estudos comparativos e a forma da árvore.

Aula 1 · A árvore e os dados · Métodos Filogenéticos Comparativos (PPGBA/UFMS)

No mapa dos métodos, esta aula é a primeira faixa de base: tudo o que vem depois precisa de uma árvore e de dados que batam com ela. A aula supõe lidas as três leituras prévias.

Slides

Abrir slides

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

Em 3 minutos

  1. Espécies aparentadas compartilham história: tratá-las como independentes infla os graus de liberdade e pode criar associações que não existem.
  2. A árvore é uma hipótese, com incerteza na topologia e nos comprimentos de ramo; para os métodos comparativos, o ideal é um cronograma (ramos em tempo).
  3. Antes de qualquer análise, case os nomes da árvore com os da tabela de atributos e decida o que fazer com o que sobra (podar, trocar espécies, imputar).

Erro comum: usar uma árvore sem saber de onde ela veio nem o que os comprimentos de ramo representam.

Conteúdo

  1. Antes de começar: as três leituras, o problema do parentesco comum e uma breve história
  2. O que é uma filogenia: partes, enraizamento, politomias, cladograma, filograma e cronograma, suporte
  3. Como escrever uma árvore: Newick passo a passo, Nexus e NeXML
  4. De onde vem a árvore: critérios, fluxo da inferência, programas
  5. Como obter uma árvore: bases, megafilogenias, pipelines, a árvore à mão
  6. Dados de atributos: bases por grupo
  7. Desenho de estudos comparativos: déficits, phyndr, imputação, PhyloTargeting
  8. A forma da árvore: Colless, γ e o efeito na matriz C

Código R (aula prática)

Pacotes: ape, phytools, geiger.

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

A árvore não bate com os dados. Use data(geospiza, package = "geiger") (a árvore tem 14 espécies; a tabela, 13). (1) Encontre o descompasso com geiger::name.check() e resolva com geiger::treedata(). (2) Verifique se a árvore é enraizada e ultramétrica e salve-a em Newick. (3) Calcule o índice de Colless (escreva a função) e o γ de Pybus (ape::gammaStat()). (4) Desenhe a árvore com o comprimento da asa (wingL) ao lado das pontas. Avaliação: explica o que foi podado e por quê, e interpreta Colless e γ.

  • Tudo o que o desafio pede aparece nas seções 3 a 5 e 8 do roteiro, com outros dados.
  • geospiza é uma lista: a árvore está em geospiza$phy e os dados em geospiza$dat.
  • Depois do treedata(), confira a ordem das linhas (sort = TRUE).
  • O γ só faz sentido numa árvore ultramétrica; a função de Colless do roteiro funciona com qualquer árvore binária.
library(ape); library(phytools); library(geiger)
data(geospiza, package = "geiger")
str(geospiza, max.level = 1)
# 1. name.check(...) e treedata(..., sort = TRUE)
# 2. is.rooted(), is.ultrametric(), write.tree(..., file = "geospiza.tre")
# 3. colless(...) e gammaStat(...)
# 4. plotTree.barplot(...) com o vetor nomeado de wingL

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

Leituras recomendadas