Taller en Análisis filogenéticos comparativos en Ecofisiología Aplicación de Mesquite y R Programa • Primero (11 Diciembre) • Introduction to Mesquite and R • Data Preparation and Manipulation • Tardes – Practical Use of Mesquite y R • Segundo (12 Diciembre) • Selection of Phylogenetic Trees • Supertrees – Assemblying Composite Trees – Sources of Phylogenetic Hypotheses • Estimation of Ancestral Character States – Categorical (Mesquite & R) – Continuous (R – ace) Programa • Tercera (13 Diciembre) – Estimation of Phylogenetic Signal – Statistical Methods incorporating Phylogenetic information • Phylogenetic Independent Contrasts • Phylogenetic GLS • Multivariate Analyses – Bring your own Data! Goals of Comparative Analyses • Investigar la evolución carácter • La coevolución de caracteres • Control de la no independencia de las especies • Hipótesis de ensayo de adaptación Estadísticas tradicionales de asumir la independencia de las especies (unidades de muestreo)… Pero, las especies exhiben diferentes niveles de relación, que afecta a las inferencias de la adaptación local y la diversificación Pearman et al. TREE 2008 Estimación carácter ancestral Garganta Morphs en Urosaurus Feldman et al. 2011. Molecular Phylogenetics and Evolution Dos importantes programas http://mesquiteproject.org/mesquite/mesquite.html http://cran.r-project.org/ Objetivos de Mesquite • Manipulate Phylogenetic Trees – Estimate Ancestral Character States – Estimate Character Correlations – Inferences of Character Evolution – Multivariate Analyses Objetivos para • How to use R to Manipulate Data • Phylogenetic Comparative Analysis • Statistical Analyses not available in Mesquite Ventajas de • • • • Free Many packages available Powerful and Flexible Platform Independent – MacOS – Linux – Windows Página de Inicio para R Console de R Studio – A GUI for http://www.rstudio.com/ 37 Paquetes filogenéticos en • • • • • • • • • ape caper geiger motmot OUwie phylobase phyloclim phytools picante Sólo voy a describir estos paquetes Datos Necesarios • Phylogenetic Tree – NEXUS format – NEWICK format ((B:0.2,(C:0.3,D:0.4)E:0.5)F:0.1)A • Data – Continuous – Discrete – Flat Format (Texto, ASCII) Nexus Data File Format #nexus ... begin trees; translate 1 Phrynosoma, 2 Uta, 3 Petrosaurus, 4 Urosaurus, 5 Sceloporus ; tree one = [&U] (1,2,(3,(4,5)); tree two = [&U] (1,3,(5,(2,4)); end; A tutorial in Mesquite • Tres elementos de Mesquite 1. Characters 2. Taxa 3. Trees Primero Ventana de Mesquite Projects and Files – list of open projects Log – list of commands Crear un nuevo proyecto (archivo) Nuevas opciones de archivo Numero de caracteres y el tipo de caracteres Ventana de caracteres Podemos anotar caracteres “Show Annotations Panel” MetaData Taxa se pueden asignar a grupos Los árboles pueden establecerse en diferentes formas Taxa ventana Select a Tree Ver el árbol Total del Proyecto A Gentle Introduction to El intérprete interactivo, R Asigna variables Types of Variables Mode Numeric Character Factor Logical Example 10.2, 20 “Morph”, “Substrate” Categorical TRUE, FALSE, T, F Operators Functions Combinando elementos en matrices Matrices Operations on Matrices Dataframes • Rectangular table of information – Can include numbers, text • This is the form of your data when you import into R Character 1 Character 2 Species 1 Species 2 Species 3 Character 3 Character 4 Character 5 Morphology = Character1 Character2 Character3 Character4 Character5 Species1 22.1 100.3 15 2.2 22 Species2 23.7 125.0 17.6 3.8 25 Species3 35.2 98.3 22.1 1.9 19 Dataframe Behaves as a Matrix No Spaces in species or variable names Use attach to directly refer to variable names attach(morphology) Character 2 # gives all values of character 2 Use Help Importación de datos • Change the “working directory” – Easy in R Studio • Data should be in a clean rectangular matrix – Flat File (No formatting), ASCII text – Exported from excel • First row: Variable Names • First column: Species/Taxon Names • example: Iguana Life History Data Species Amblyrhynchus_cristatus Conolophus_pallidus Conolophus_subcristatus Ctenosaura_clarki Ctenosaura_hemilopha Ctenosaura_pectinata Ctenosaura_similis Cyclura_carinata Cyclura_ricordi Cyclura_cychlura Cyclura_nubila Cyclura_cornuta Cyclura_inornata Cyclura_stejnegeri Dipsosaurus_dorsalis Iguana_iguana Sauromalus_obesus Sauromalus_hispidus Sauromalus_varius Crotaphytus_collaris SVL Mass 279.0 1370.0 2.6 440.0 4300.0 10.0 415.0 3600.0 13.5 126.58 70.78 8.5 219.33 375.0 27.33 238.7 482.0 28.0 238.39 795.13 31.1 225.0 605.3 5.1 355.0 1275.0 10.2 405.0 2805.0 8.75 340.0 1700.0 8.12 355.0 3745.6 15.76 320.0 1336.0 4.1 475.0 4516.0 2.4 123.0 70.0 5.6 360.35 115.65 32.86 160.55 180.0 8.59 279.0 900.0 22.2 293.6 1200.0 23.4 84.8 24.66 8.6 CS RCM EggM EggS EggV OffSVL 0.18 98.6 90.33 21.8 NA 0.85 NA NA NA NA NA NA 0.199 51.2 63.4 NA NA 0.9 0.24 2.45 23.37 3.05 NA NA 0.21 2.37 21.22 2.69 NA NA 0.23 3.92 26.3 2.29 NA NA 0.4 7.72 30.92 2.28 NA 0.78 0.21 25.0 52.0 44.87 NA 0.9 NA NA NA NA NA NA 0.21 68.69 73.01 61.34 96.0 NA NA NA NA NA 99.8 NA NA NA NA NA NA 0.9 0.165 55.12 66.0 NA 95.0 NA 0.06 115.0 81.66 122.45 NA NA NA NA NA NA NA 0.66 0.46 15.7 39.35 NA NA NA 0.38 8.0 25.0 15.0 NA 0.8 0.24 10.0 25.0 24.0 NA NA 0.35 18.0 40.0 28.0 NA NA 0.217 1.23 21.3 NA NA 0.48 AdS AgeMat Env 41.0 Island NA Island 84.0 Island NA Main NA Main NA Main 22.0 Main 72.0 Island NA Island NA Island NA Island 72.0 Island 132.0 Island 110.0 Island 32.0 Main NA Main 48.0 Main NA Island NA Island 12.0 Main Importing Data • Workhorse function: read.table() iguana.lh <- read.table(file=“iguanalh.txt”, header=TRUE) • iguana.lh (dataframe name) • Check to make sure data were read in correctly • iguana.lh[1:10,] # look at first 10 rows Otras formas de importar datos • Other formats: read.csv(), read.delim() • (useful if there are spaces within some fields) • Handy function: file.choose() # navigate to file iguana.lh <- read.table(file=file.choose(), header=T) attach(iguana.lh) # easy to manipulate variables Factors • Used to represent categorical data; by default, read.table() • converts columns with characters into factors • Factors look like strings, but are treated differently by functions • species # example of a factor • Factors have levels, which are the unique values it takes • levels(species) # example of a factor • Factor levels may be ordered (e.g., low, med, high), which is important in some analyses (see ?factor and ?ordered) Faltan Datos • Represented by a special character in R: NA • Many functions have an argument na.rm – If TRUE, NA’s are removed – FALSE is usually default (function returns NA) – median(x, na.rm=TRUE) • read.table(file, na.strings=“NA”) • na.strings=“-999” # here, missing data are -999 • • Useful function: complete.cases(iguanlh.txt) • • Returns logical vector, T for rows without missing data • cc<- complete.cases(iguanalh.txt) Los métodos filogenéticos en R • Start with a Tree • library(ape) # load ape package • We can create a random tree: • tree <- rtree(25) # 25 terminal taxa • Normally, read in tree(s) from file • tree <- read.nexus(file) # Nexus format • tree <- read.tree(file, …) # Newick format Tree Structure in ape Plot a Tree View a Tree Manana Tree Selection Ancestor Character State Estimation