Primeiramente, limpe sua área de trabalho e gráficos.

rm(list=ls())
graphics.off()

Precisaremos dos pacotes “picante” e “phytools”. Caso ainda não o tenha feito, instale os pacotes com o comando a seguir, lembrando de retirar o “#”:

#install.packages("phytools")
#install.packages("picante")

library(phytools)
library(picante)

Especificar um diretório (pasta) de trabalho no seu computador utilizando o comando setwd:

setwd("endereço da pasta em que estão seus arquivos usando barras / e não contrabarras ")

Observe os arquivos na sua pasta com o comando dir.

dir()

Carregue seus dados. Lembre que eles devem estar no diretório especificado anteriormente!

arvore<-read.tree("anolis.tre")
arvore
caract <- read.csv("caracteristicas.csv", row.names = 1)
caract

Para manter somente as mesmas espécies e deixá-las na mesma ordem na arvore filogenética e na tabela de características use a função “match.phylo.data” do pacote “picante”.

resu_org <- match.phylo.data(arvore, caract)

Dê um novo nome para a árvore filogenética e para a tabela de características organizadas.

arvore_org <- resu_org$phy
caract_org <- resu_org$data

Vamos observar a árvore filogenética.

plot(arvore_org)

Veja os nomes das características na tabela:

colnames(caract_org)
caract_org$comprimento

Para podermos “chamar” as características diretamente pelos seus nomes, vamos fazer um “attach” da tabela.

attach(caract_org)

Agora podemos obter os valores de comprimento, por exemplo, apenas escrevendo “comprimento”:

comprimento

Será que existe sinal filogenético no comprimento de lagartos Anolis?

Reatribua os nomes das espécies aos valores de comprimento:

names(comprimento) <- rownames(caract_org) 

Vamos testar o sinal filogenético no comprimento de lagartos Anolis utilizando a estatística lambda de Pagel.

lambda_resu <- phylosig(arvore_org, comprimento, "lambda", test = T)

Para ver o resultado, rode:

lambda_resu

Vamos visualizar o padrão de sinal filogenético com um fenograma:

phenogram(arvore_org, comprimento)

E como seria com uma variável aleatória (isto, é, sem um padrão de evolução como o por Movimento Browniano)?

É só criar uma variável aleatória com a função rnorm e depois rodar o lambda com ela.

aleat <- rnorm(30)
names(aleat) <- rownames(caract_org)
lambda_aleat <- phylosig(arvore_org, aleat, "lambda", test = T)
lambda_aleat

Vamos observar o fenograma gerado com a variável aleatória:

phenogram(arvore_org, aleat)

Exercícios

Salvar como “Nome_Estudante_aula_PS.pdf” e entregar no prazo estabelecido no UFPR Virtual.

  1. Para entregar: Teste se há sinal filogenético em outras características dos Anolis (pelo menos duas características). Apresente os resultados da análise (lambda e valor de P) e os fenogramas. Explique sua conclusão de forma objetiva e completa, interpretando os resultados biologicamente.

*Dica: Se você sentiu dificuldade de acompanhar o conteúdo desta aula e quiser ler um texto em português sobre o assunto, leia a introdução geral da tese de Vanderlei Debastiani (2016), disponível em: https://lume.ufrgs.br/handle/10183/143857

  1. Extra para quem quiser se aprofundar (não vale nota e não precisa entregar): Busque dados de características (quantitativas contínuas) e filogenia de algum grupo de organismos com o qual você está familiarizado. Teste o sinal filogenético dessas características. Lance hipóteses de como essas características podem ter evoluído. Você pode encontrar árvores filogenéticas em http://www.timetree.org/ e dados de características em várias bases, como PanTHERIA (mamíferos), BIEN (plantas das Américas), FishBase (peixes), etc.