sábado, junio 02, 2012
X Reunión Argentina de Cladística y Biogeografía, Mendoza (29-31 may 2012)
Se cumplió entre el 29 y 31 de mayo la X Reunión Argentina de Cladística y Biogeografía, en Mendoza. Y aquí van mis impresiones de la reunión.
Primero, quiero mencionar un poco la ciudad de Mendoza, el sitió donde estuve, en el centro, es muy lindo, con muchísimos arboles, acequias donde corre agua todo el tiempo [la ciudad es como un oasis en medio de un área desértica], y pues como por este lado del mundo es otoño, había muchos árboles así amarillos y perdiendo hojas [mucho más que por Tucumán]. La vista de las montañas es genial, y pues me dan ganas de venir por aquí con un poco más de tiempo en el futuro!
Ahora pues, a hablar de la reunión.
Martes 29
La charla inaugural corrió a cargo de Juan Morrone, que venía de México [aunque el es Argentino], y hablo sobre sus análisis en cuanto a la relación entre los curculionidos de las islas Malvinas y los continentales. Luego Guillermo D'Elia, que venía de Chile [aunque es de Uruguay] hablo sobre lo que se conoce en la actualidad de la filogenia y biogeografía los sigmodontinos.
El primer simposio, fue el de biogeografía, organizado por Juan. Lone Aagesen hizo una presentación bien interesante de la evolución de las poales C4 y las relaciones ambientales de estas plantas con sus familiares C3. Federico Ocampo, hablo de Eucraniini un grupo de escarabajos estiercoleros. Claudia Szumik, hablo de nuevos métodos, implementado en NDM para realizar un análisis de endemismos, que además de usar especies como terminales, es posible usar también taxones supraespecíficos, y pues como ese método se aplico en un conjunto de datos de mamíferos neárticos. Dalton Amorim, que llego desde Brasil, apunto algunos problemas biogeográficos para el neotrópico, aunque muchos de ellos, para mi, no lo son tanto, es más una consecuencia de usar áreas predefinidas, que problemas distribucionales. Para cerrar el día, Juan presento un nuevo esquema de regionalización del neotrópico que difiere de sus aproximaciones anteriores, pero al igual que lo que apunto Dalton, el problema para mi, es más en el hecho de usar áreas predefinidas.
Miércoles 30
La sesión de charlas generales comenzo con Yamila Cardoso, que hablo sobre las especies de Hypostomus, un genero de “viejas de agua.” Gustavo Flores reviso varias disyunciones dentro de Pimeliinae, unos escarabajos del grupo de los Tenebrionidos, aunque fue principalmente descriptivo, para mi, es la clase de trabajos que muestra que el verdadero poder en la biogeográfia esta en estudiar la disyunción. Carolina Correa que comparo los resultados de áreas de endemismo usando los datos georeferenciados típicos y las distribuciones generadas por los modelos de nicho, con un conjunto de datos muy bien muestreado para Asteraceas del noroeste argentino. Christian Ibáñez mostró los patrones, más que todo ecológicos y ambientales, de la distribución de cefalópodos en el Pacífico oriental. Dolores Casagranda, Loló, hablo sobre un análisis de endemismos usando los peces de agua dulce de Espíritu Santo, en Brasil, un trabajo muy interesante, en el sentido que el uso de estos métodos cuantitativos en peces es poco común, y pues que mostró que aunque a primera vista son diferentes, estos estudios son igualmente posibles y razonables. Berni Britto, de Perú, hablo sobre los corotipos de su país. Yo creo que es posible analizar sus datos de otra forma, pero me gusto mucho toda la labor de muestreo que realizo! Alejandro Guiraudo, el tape, mostró diferentes áreas de endemismo para las serpientes del nordeste argentino, con un conjunto de datos de una revisión de una gran cantidad de colecciones, así como de muchos años de muestreo en el área. Duniesky Rios, presento un análisis combinado de moléculas y morfología de arañas mygalomorfas.
A la tarde, Andrea Cosacov dio una conferencia sobre los resultados de un gran proyecto de la filogeografía de la Patagonia, que se realiza entre otros en colaboración con el Instituto Darwinion, y la Univ. de Córdoba, entre otros. Lo que más me impresiono del trabajo, fue la excelente calidad del muestreo: con muchísimos puntos de colecta en toda la patagonia!
Luego vino el simposio de problemas empíricos, donde Camilo Mattoni nos contó de la taxonomía y filogenia de Orobothriurus, un escorpión que tiene el “record” de altura, usando tanto evidencia morfológica y molecular. Norberto Giannini, nos contó de lo difícil que ha sido resolver las relaciones filogenéticas en los zorros voladores (Pteropodidae), un enorme grupo de murciélagos del viejo mundo. Luego vino mi charla sobre análisis biogeográficos a gran escala. Para terminar, Julián Faivovich presentó como a venido progresando la filogenia de Hypsiboas, un hylido neotropical, que fue una de las presentaciones que más me gusto.
Jueves 31
Para el tercer día, comenzó con Federico Agrain que discutió la filogenia de Clytrini, unos coleopteros, y su biogeografía, aunque me hubiera gustado una forma más cuantitativa para hacer esa inferencia. Danilo Ament, de Brasil, hablo sobre la codificación de caracteres no aplicables. Mariana Chani, nos contó de la filogenia de los Philothina, una subtribú de estafilinidos neotropicales, un grupo con una diversidad absurda. Luego yo presente otra charla, porque Julieta Gallego, mi co-autora no estaba, sobre estabilidad con relojes moleculares. Marcos Mirande, hablo de las relaciones filogenéticas de Deuterodon, un genero de mojarritas, como siempre, la cantidad de evidencia que esta acumulando Marcos, tanto a nivel morfológico, como de terminales, es asombrosa! Agustina Ojeda presento una filogenía molecular y un análisis biogeográfico y ambiental de los octodóntidos suramericanos. Maritza Mihoc, dio una charla sobre Adesmia, su distribución y filogenia, me impresiono, la gran cantidad de trabajo para conseguir no solo la información morfológica, sino también distribucional. Cecilia Pardo hablo sobre la filogenia de Octopodidae, un grupo de pulpos, lo que más me intereso de esa charla, fue que mostró que aún para grupos oceánicos es posible ver patrones biogeográficos relacionados con la deriva continental, creo que sería interesante un análisis de un grupo de estos usando distribuciones explícitas, en vez de áreas predefinidas. Para terminar la sesión, Anyelo Vanegas hablo sobre el genero Gephyrocharax, otro grupo de mojarritas.
Dado que no se pudo realizar la charla “de camaradería” en la cena de la reunión (que fue el miércoles a la noche), Marcos y Camilo la presentaron a la tarde. Fue una charla muy graciosa, basada más que todo en las charlas de los primeros dos días de la reunión.
La última de las conferencias, fue dada por Adriana Marvaldi, con una actualización de su trabajo en la filogenia de Curculionoidea, usando alineamientos estructurales ribosomales.
Para terminar, fue el simposio de problemas metodológicos, organizado por Camilo. Pablo Goloboff, dio una charla muy bonita, sobre la implementación de un método basado en el conteo de tripletes en árboles, y como se puede resumir el tiempo de computo de esos conteos. Ignacio Escapa, hablo de otra parte del mismo método que presento Pablo (y que el había presentado con Diego Pol en la reunión de La Plata) específicamente para detectar cuales son los caracteres que pueden mejorar un estudio, y por ello, sirven para seleccionar, por ejemplo, secuencias y genes para una matriz de gran escala. Luego Santiago Catalano, hablo sobre el programa GB-to-TNT, un programa para procesar de forma automática, datos moleculares para después analizarlos en TNT. Norberto hablo sobre nuevas maneras de usar los análisis comparativos basados en cambios en el árbol de la manera en que realmente se tenga en cuenta la filogenia. Para terminar, y tristemente con el tiempo muy encima, Claudia dio una charla muy interesante sobre el uso de herramientas computacionales de sistemática (TNT) y biogeografía (NDM) en un campo como la arqueología, aunque por ahora, hay como más dudas que cualquier otra cosa, lo que me gusto, es que es claro que hay una gran potencialidad en usar esta clase de información de manera cuantitativa en arqueología.
Impresión general
Bueno, para mi fue una reunión interesante, me parece que hubo algunos problemas con el manejo del tiempo en las charlas, lo que hizo que una buena parte de ellas se excediera y genero un poco la prisa al final de la reunión. Por otra parte, pues fue relativamente poca gente, pero creo que eso es más por que el programa de biología de la univ de Cuyo (la univ pública de Mendoza) esta comenzando hasta ahora, según me contaron, después de todo, había una gran cantidad de gente del Iadiza, también mendozino. Eso más que todo se reflejo en la pequeña cantidad de posters expuestos.
Pero también me gusto como la representatividad de la reunión, vino gente de Chile, Perú, Brasil y México, y pues como siempre, se mantuvo la informalidad de la reunión, y más que todo, el ambito de discusión que se generaba en la sesión de preguntas!
Y por supuesto, la posibilidad de ir a comer y charlar un rato con viejos y nuevos conocidos al final de cada día :D!
Nos vemos pues en Santa Fe para la undécima reunión!
domingo, agosto 07, 2011
Hennig 30, July 29-August 2, 2011, Sao José do Rio Preto, Sao Paulo, Brazil
Just a week ago I was at the 30th meeting of the Willi Hennig Society (my third in four years! :D). It was in Sao José do Rio Preto, an small city in the state of Sao Paulo, Brazil. There is a lot of people! (More than 200! most of them are students!). Here I will try to give an small review of the whole meeting :) [In the same way as I do in previous ones ;)]
July 29
This was the day of the welcome party, I meet with some good old friends and new people. Also, I'm very tired after a long trip from Campinas to Sao Jose xD.
July 30
The real meeting starts here, with an small presentation of the presidency of the Willi Hennig (by Rudolf Meier) and the organization committee (Dalton Amorim and Fernando Noll). Then a talk by Mario Viaro about the evolution of the prepositión “ate.” It is nice to see some strong similarities between cladistics and linguistics! But I think that most of the talk is based on more or less informed speculation, I hope that new quantitative approaches (like the one show by Ward Wheeler) will invigorate the field!
The first symposium was about bioinformatic tools for the analysis of diseases. Dan Janies, comment of a new way to dealt with they web services of SupraMap, and how it evolves from a monolithic application, to a more piecemeal approach (as unix/linux users know it), it will be more flexible and then more useful (And as a developer, a lot easier to maintain!). If you are curious, its new web site is GisBank.
Then Julián Villabona, a long time friend, give a review of the different tools to understand the geographic spreading of dengue, based on his own previous and current work. I think that the nice lesson is the importance of using new quantitative approaches from historical biogeography, in this clearly phylogeographic framework.
There are two more talks on this symposium, but they are more orientated in bioinformatic questions (data mining, and so), a subject that I do not really feel, so I can take anything about it :P.
The second symposium is on Phylogenetics and conservation. The first talk, of course, was by Dan Faith, that review his PD measure, that I think is the best way to take phylogeny into account in a diversity framework. He shows some way to expand the measure to complementarity, I personally do not like that approach, as it miss one of the most robust things of the PD measure: that is independent of the sampling.
I skip Roseli Pellens talk, but I see the talk of Ronald Clouse about Schizomida of Micronesia, both in terms of phylogeny of the group and at population levels. He found some particular things about its distribution, as it seems that the explanation of its distribution is based on long dispersal, but they are very well separated even inside the small islands. I will be looking forward for his publication on this particular data set :D!
There is a poster season here, but there were a lot of posters, and most of them on very technical issues of particular groups, which is wonderful :D (I love to see biodiversity research) but I'm very ignorant on most of that groups :P
July 31
The third symposium was on biogeography, specially, neotropics. Dalton Amorim shows how the “relationships” among areas shows that there are different historical components on the neotropics, each with different times. Although I don't like the methodology of his work (I'm anti “cladistic biogeography”), I guess that their own study shows that looking for hierarchical patterns in biogeography is not the right route!
Eduardo Almeida talks about the breakup of Gondwana, and the alternatives. I feel he gives much weight to the “expanding earth” hypothesis. It is important to note that this is a fringe hypothesis in geology, in fact, it is almost never mentioned in books on tectonics :P. Actual plate tectonics is one of the our most powerful theories, so the expanding earth require a more compressive mechanism set. Sadly all the discussion on the expanding earth eclipsed the most interesting part of his talk, that is about the biogeographic patterns of Colletidae bees.
To end the symposium, Juan Morrone gives a review of some of the american transition zones, in Mexico and in Patagonia. This prompt an interesting discussion, and I feel, like in the talk of Amorim, that their own research shows that the hierarchic classification in biogeography is not feasible.
Then contributing papers season start. I was very afraid (there is a lot of people xD), but fortunatelly all the discussion on Juan's talk gives me a nice time to keep my mind and provide a nice starting point for my talk ;).
Then Cyrille D'Haese talk about the relationships of a beauty group of colorful and “giant” collembolans of New Caledonia and South west Asia. Fernando Dagosta discuss the relationships of a characid group of fishes (I guess that you can ask Marcos about this talk :P jejeje). Jerome Murienne talk was about niche modelling, and how to integrate them into a phylogenetic framework. I think that this is a very difficult topic, and I was gland that Jerome was very cautions on its presentation ;) as more approaches to integrete phylogeny and distribution modelling are brutally ad-hoc. Denis Machado talk was about the phylogeny of freshwater stingray's tapeworms.
Wei Song Hwang gives a talk about the phylogeny of Reduviidae (specifically Reduviinae subfamily, a non-monophyletic assemblage). It was a terrific talk, on a group that requires an extensive revision although I will prefer more morphological data to be coupled with the molecular data. Anyway, I love this talk. [Side note, I guess it helps that bugs are theo only group that I was on the verge to work with it xD]
Marcos Mirande shows its update of its phylogeny of Characidae--there is a lot of characid papers in this meeting! :)--with new characters, new taxa, and molecular sequences. Owen Davies, who I meet in South Africa, study a group of small african birds of the genus Cisticola, and how old taxonomic revision was good and also wrong, I like this appreciations for old works :D. To close the season, Guanyang Zhang talk about the phylogeny of Harpactorini, a tribe of neotropical Harpactorinae, another grouop of assassin bugs, that, if you live in south America, you can see waiting on leaves with their front legs raised into the air: they have some stiky glands to capture prey, and that was Guanyong main subject.
Another poster season, I just have few time to check it out the other posters :-/, as I have my own, and I was very busy there: I have a pair of very good discussions ;).
August 1
There is another symposium, this one about techniques for molecular phylogenetics. Lone Aagesen explore some different weighting schemes to dealt with full genomic data and explore some groupings detected under different gene duplications among angiosperms. Torsten Dikow about the effects on combining morphology and molecules in Asilidae, as in many cases morphological data set produce an excellent retrieval of actual classification, whereas combined data does not.
Then Ross Mounce give a great talk about how ILD was abused in the literature, and why the way in it was presented in publications made most of the results difficult to repeat--If you read Ross's blog, you will know that he is, rightfully ;), obsessed with result reproduction!--He also shows how there are several ways to extract information on the results of this test, beyond the probability of the test.
As I mentioned before, Ward uses the dynamic homology framework to explore the phylogenetic relationships among uto-aztec languages, I think that this approach provides a real improvement on the analysis of linguistic data, and I am waiting for its publication :D!
Then Mario DePinna gives a talk about ontogeny and rooting. I guess that this talk is most on the same line of the works Nelson and Platnick, that I despise, and I thing are hot topic about 20 years ago, but not now.
Pedro Romano was interested on the use of ordered and unordered multistate characters, and how that decision is not usually well explored in most phylogenetic works. Then Apurva Narechania shows a methodology called “Radical” to explore the data concatenation. I think that his approach can be expanded in several ways, for example, looking for stability after adding taxa (instead of characters), that I feel, is a unexplored field.
Tim Crowe compare the evidence value of nuclear vs. mitochondrial molecular data, and show how their behavior is just not as usually supposed (mitochondria work well on tips, nuclear data work well on deep nodes) in his extensive data set of Galliformes.
Herbert Ferrarezzi explore a way to code polymorphic taxa, instead of using single specimen molecular sequences. Jaime Rodriguez present gives a talk about the use of spectral firms to identify insects, he tries to link it with phylogenies, but I really do not understand how this was done.
The talk of Claudia Szumik was about new character systems used in the classification of Embioptera. I like her work as it is a clear example that in many groups, the “lack” of informative morphological characters, rest on traditional grounds (i.e. taxonomic research centered on some particular character systems), rather than in a really uninformative morphology.
To end the day, Gustavo Hermes speak about a difficult wasp group, the Eumeninae.
The banquet!
This day was the banquet, in a place with a lot of food of several sources: fish, shrimps, sushi, meat (a lot!). It was great ;). And of course there are the Banquet speech (about “addiction on cladistics,” an excellent talk given by John Wenzel), and the Society awards for students, both the travel grants (Marie Stoppes) and the Don Rosen award for the best poster (to Rafaela Lopes), the Lars Brundin award for the second student talk (to Gustavo Hermes), and the Willi Hennig award for the best student talk (to me! I was pretty surprised :D, and really happy! :D). Congrats to the winners :), I'm proud of be in such nice company :D!
August 2
I must admit that I was pretty tired after two days of brazilian joy ;) so, I just barely play attention to several of this talks :P, and loss the talks from Phillippe Grandcolas and Nobuhiro Minaka.
Hilton Japyssu talk about how to codify different behavior patterns, in particular grooming on rodents. They produce a very well supported phylogeny with a lot of this rutines, congruent with several other data sources. Then Carlos Alberts, on the same line work with behavior patterns of Arini parrots.
Later, Santiago Catalano present his method about landmark alignment, and how it produces better results than alignments that not take into account the phylogeny. Another hit for the dynamic homology approach.
One of the talks I want to hear, is the one by Jan DeLaet on character weighting. He was very interested on implied weighting approaches, but it seems that he prefers linear functions instead of concave ones, so he present some properties for a particular function schema that he call, “self calibrated.”
To finish the meeting there is a symposium on theoretical and phylosophical aspects on cladistics. The first talk was by Pablo Goloboff about some improvements to implied weights, that is, to use different weighting functions among different characters, and the possibility to weight blocks of characters instead individual characters (that is mostly for molecular data).
James Carpenter gives a talk about the meaning of homology vs. synapomorphy. Of course, synapomorphy is not homology, as you can also have homology in symplesiomorphy! In the same line Kevin Nixon (who was not there, but send a video of his talk) was on the same line. This might be an old fashion discussion, but given that there is a lot of recent publications by people like Malte Ebach, David Williams and company (they publish a book, and have several papers in journals like zootaxa) it is important to recall this arguments again.
Andy Brower, tries to show how really most of objections on parsimony are not so strong, and that actually, parsimony is not as bad as their criticizers argue: the results are nearly identical with alternative methods. There are several topics I agree with Andy, but there are others that not, mostly he uses some sociological explanations in some cases, but ignore them in others (and of course, I'm very realist :P ejeje, but that is my own problem xD).
The second talk of Jan was about the topics touched on its 2005 paper, that is, about the use of gaps weighting and how they are related to dynamic homology, and of course, why really using everything in 1, is not really a straight forward consequence of using parsimony.
To finish, Steve Farris criticize the most recent attempts of users of 2 taxon analysis approach (already mentioned: Ebach, Williams, Nelson, Platnick), and how they change their own words when new criticisms where made.
Overview
A very long piece here :P! It was a very nice meeting. With a lot of students, that as great, and I think the most important objective of the WHS: to bring students into phylogenetics. But there is disappointment, apart from brazilian students there are few from other countries. I guess that it is a consequence of recent economic downside, as there are just few US students (3 or 4), and just one European students (just Ross). It is shocking when you see such small representation from first world countries. Representation from latinamerica is also scarce: just one from Argentina (were was everybody?), and nobody from other latin American countries. Of course, there are some colombians working on Brazil, but they count as Brazilian students (as its fundings are given by brazilian institutions). I don't know what happens, it is not lack of publicity: there is the same amount as in any other Hennig meeting. It is not the price, after all, this is one of the cheapest international meetings out there!
Nevertheless, that is not a problem of the organization, so I just can tell that the meeting was great, a lot of students, a nice people, and several interesting talks and posters :) Now, it is time to think on the next one, which will be somewhere in the U.S., hopefully I can made it :D!
Acknowledgments
Of course, a lot of fundings is required to do this trip, and I want to acknowledge the support given by the FONCyT, CONICET and the INSUE, and the Willi Hennig Society that gives me a Marie Stoppes award, and the Organization committee that give us a discount rate at the hotel, and everyday lunch ;)! Obrigado! :D
domingo, febrero 13, 2011
¿Quien es un cladista?
Hace algún tiempo, alguien me preguntó en que se diferenciaba la cladística de los otros métodos filogenéticos. Para mucha gente, la respuesta es simple: un cladista es el que usa parsimonia (e.g. [1][2]).
Yo creo que la parsimonia es muy importante para los cladistas, pero no creo que uno sea cladista solo cuando usa parsimonia. Hay muchos artículos de autores que usan parsimonia, pero que no creo que sean artículos cladísticos. También hay trabajos de autores que no usan parsimonia, pero que están claramente dentro del marco cladístico (Pienso en los autores lejendarios: Hennig, Brundin, Wygodzinsky etc., todos ellos cladistas, pero ninguno uso parsimonia, al menos de una manera explícita [=numérica]).
Entonces, si no es un algoritmo ¿donde esta la diferencia? ¿cuando uno es un cladista?
Una parte escencial del pensamiento cladístico es la monofilia, pero actualmente la monofilia se entiende como un termino topologico (esto es, solo la relación representada en el árbol), pero creo que este pasaje de Hennig [3] es claro:
“La suposición de que dos o más especies están más cercanamente relacionadas entre si que con cualquier otra especie, y por ello forman un grupo monofilética, solo puede ser confirmada demostrando la presencia en común de un carácter derivado (“sinapomorfía”). Cuando ese carácter se a demostrado, entonces la suposición ha confirmado que lo han heredado del ancestro común únicamente para esas especies que muestran el carácter.”
Entonces, para un cladista, la monofilia no es solo la relación, sino los caracteres que apoyan esa relación. Cuando un cladista responde a la pregunta “¿es este grupo monofilético?” el /ella no muestra únicamente un árbol, sino además los caracteres que apoyan ese agrupamiento.
Entonces, la cladística no es sobre el algoritmo en particular usado para inferir las relaciones, sino sobre los caracteres que apoyan esos grupos. No es extraño entonces que la mayor parte de los cladistas usen morfología en sus análisis. Aún así, usando solo datos moleculares, se puede ser un cladista, cuando al referirse a calda clado, se discute también las sinapomorfías de dicho clado (sean moleculares y/o morfologicas). Después de eso, uno puede preferir cierto algoritmo sobre otro.
Aquí va un ejemplo, estos dos artículos, uno es de Wiens et al. [4] sobre la filogenia de los Escamados, y el otro es de Beutel et al. [5] sobre la filogenía de Holometabola. Ambos artículos usan parsimonia y análisis bayesiano de sus datos, y ambos parecen preferir los resultados del árbol del análisis bayesiano. Ambos artículos tienen más o menos el mismo tamaño (en cuanto a páginas), discuten las relaciones de grupos de gran diversidad y usan conjuntos de datos morfológicos y moleculares. Uno es claramente un trabajo cladístico, y el otro no.
Si uno mira el artículo de Beutel et al., uno se encuentra con un montón de discusión sobre los caracteres que apoyan cada clado. Para ellos, el apoyo no es solo el valor del apoyo de Bremer, la frequencia de Jackknife o la probabilidad Bayesiana, todo eso es importante por su puesto, pero no tiene sentido sin una referencia explicita a los caracteres que en el nodo. Entonces, así ellos prefieran el análisis bayesiano, ellos continúan siendo cladístas.
Del otro lado, esta el artículo de Wiens et al. Para estos autores, lo único importante son las relaciones, ellos discuten grupos y probabilidades bayesianas, pero nunca discuten ningún carácter de manera explicita para ningún grupo. Entonces, incluso si Wiens et al. solo hubieran usado parsimonia, ellos no son cladistas: los caracteres no son importantes para ellos.
Un cladista no es que escribe un artículo con las ultimas estrategías de búsqueda, o las medidas de apoyo, o la mayor cantidad de nuevos datos moleculares, o usa parsimonia. Todo eso es de gran importancia. Pero en un artículo cladístico, lo importante son los caracteres que apoyan la filogenía. Un buen artículo cladístico es un artículo sobre los caracteres.
Referencias
[1] Felsenstein, J. 2001. The troubled growth of statistical phylogenetics. Syst. Biol. 50: 465-467. Doi: 10.1080/10635150119297 [disponible gratis en el sitio de Syst. Biol.]
[2] Williams, D.M., Ebach, M.C. 2007. Foundations of systematics and biogeography. Springer, New York (USA).
[3] Hennig, W. 1965. Phylogenetic systematics. Ann. Rev. Entomol. 10: 97-116. Doi: 10.1146/annurev.en.10.010165.000525 [disponible gratis aquí]
[4] Wiens, J.J. et al. 2010. Combining phylogenomics and fossils in higher-level squamate reptile phylogeny: molecular data change the placement of fossil taxa. Syst. Biol. 59: 674-658. doi: 10.1093/sysbio/syq048 [disponible gratis en el sitio de Syst. Biol.]
[5] Beutel, R.G. et al. In press. Morphological and molecular evidence converge upon a robust phylogeny of the megadiverse Holometabola. Cladistics. Doi:10.1111/j.1096-0031.2010.00338.x [disponible gratis en el sitio de Cladistics]
Etiquetas:
filogenias moleculares,
filogenias morfológicas,
filosofia,
parsimonia
sábado, febrero 12, 2011
Who is a cladist?
Some time ago, someone ask me about which makes cladistics different from other phylogenetic approaches. For most people the answer is straightforward: a cladist is the one that uses parsimony (e.g. [1][2]).
I think parsimony is very important for cladists, but I do not think that you are only a cladists when use parsimony. There is a lot of papers from author that use parsimony, but which I'm not think that are cladistic papers. Also there are a lot of works form author that do not use parsimony, but they are clearly under the cladistic framework (I think on the old one authors: Hennig, Brundin, Wydodzinsky, etc., all of them are cladists, but no one uses parsimony, at least in an explicit [=numerical] way).
So, if it is not an algorithm, where is the difference? When are you a cladists?
A key part of cladistic thinking is monophyly, but monophyly actually is usually understood as a topological term (i.e. just the relationships depicted on a tree), but I think this passage from Hennig [3] is clear:
“The supposition that two or more species are more closely related to one another than to any other species, and that, together they form a monophyletic group, can only be confirmed by demonstrating their common possession of derivative characters (“synapomorphy”). When such character have been demonstrated, then the supposition has been confirmed that they have been inherited from an ancestral species common only to the species showing these characters.”
Then, for a cladist, monophyly is not just about the relationship, but the characters that support such relationship. When a cladist answer the question “Is this group monophyletic?” he/she not only shows a tree, he/she also shows the characters that support such grouping.
Then cladistics is not about the particular algorithm used to infer the relationships, but about the characters that support such groups. It is not estrange then that most cladists used morphology in their analyzes. But even, using just molecular data, you can be a cladist, when referring to each clade you are also discussing the synapomorphies of that clade (either molecular and/or morphological). Then also, you might prefer some particular algorithm over another.
Here is an example, there are two papers, one by Wiens et al. [4] about the phylogeny of Squamates, and other from Beutel et al. [5] on the phylogeny of Holometabola. Both papers use parsimony and bayesian analysis on their data, and both seems to prefer the tree resulting from the bayesian analysis. Both are about the same size (in pages), and discuss highl level relationships of a largely diverse group using both molecular and morphological data sets. One of this works is clearly a cladistic work, and the other not.
If you look to Beutel et al. paper, you will find a lot of discussion about the characters that support each clade. For them, support is not just the Bremer' support value, jackknife frequency or Bayesian probability, they are important of course, but they are meaningless without an explicit reference to the characters on the node. So, even if they prefer Bayesian analysis, they continue to be cladistis.
On the other hand, you have de Wiens et al. paper. For that authors, just the relationships are important, they discuss groupings and bayesian probabilies, but no discussion on any explicit character for any group is made. Then, even in the case of Wiens et al. only use the results of parsimony, they are not cladists: characters are not important for them.
A cladist is not the one which write a paper with the more up-to-date search strategies, or support measures, or larges amounts of new molecular data, or parsimony analysis. All of that things are important. But in a cladistic paper, the important think are the characters that support the phylogeny. A good cladistic paper is a paper about the characters.
References
[1] Felsenstein, J. 2001. The troubled growth of statistical phylogenetics. Syst. Biol. 50: 465-467. Doi: 10.1080/10635150119297 [available free at Syst. Biol. site]
[2] Williams, D.M., Ebach, M.C. 2007. Foundations of systematics and biogeography. Springer, New York (USA).
[3] Hennig, W. 1965. Phylogenetic systematics. Ann. Rev. Entomol. 10: 97-116. Doi: 10.1146/annurev.en.10.010165.000525 [available free here]
[4] Wiens, J.J. et al. 2010. Combining phylogenomics and fossils in higher-level squamate reptile phylogeny: molecular data change the placement of fossil taxa. Syst. Biol. 59: 674-658. doi: 10.1093/sysbio/syq048 [available free at Syst. Biol. site]
[5] Beutel, R.G. et al. In press. Morphological and molecular evidence converge upon a robust phylogeny of the megadiverse Holometabola. Cladistics. Doi:10.1111/j.1096-0031.2010.00338.x [available free at Cladistics site]
sábado, noviembre 27, 2010
IX Reunión Argentina de Cladística y Biogeografía, La Plata (15-17 nov 2010)
Hace unos días termino la IX Reunión Argentina de Cladística y Biogeografía, hubiera querido hacer un poco de live-blogging, pero pues estuve mucho con la gente (lo cual, aunque "malo" para el blog, es bueno para mi xD), "hablando" hasta tarde, y comentando de todo :). De todas, maneras, así sea con unos días de más, esta es mi impresión de la reunión (al menos, en su parte académica! xD).
En general mucha gente, se que fueron alrededor de 150 personas, aparte de muchas conferencias, hubo un montón de posters ;). En general, pues apenitas si medio ojeé los posters (eran muuchos!), y uno prefiere usar el coffee break para hablar por ahí :P. Las charlas, en cambió, las vi casi todas ;), y es de lo que voy a hablar. Me refiero en singular a los oradores, aunque muchos de sus trabajos fueron trabajos colaborativos!
Lunes, 15 nov
La inauguración corrió por cuenta de las autoridades universitarias y del museo, y pues del comité organizador, con la conferencia de apertura de Jorge Crisci, una de las figuras más importantes del museo de La Plata. Era sobre algunas de las ideas de Darwin sobre evolución, y como el componente biogeográfico jugo un factor importante en la elaboración de sus ideas.
Más tarde Gonzalo Giribet hablo sobre las nuevas formas de adquirir datos moleculares, y como esa fuente masiva de datos a impactado nuestro conocimiento de la filogenia de Metazoa. Más tarde Martín Ramírez presento como va progresando el portal de datos de biodiversidad de Argentina. Una de las cosas que me gusta de la posición de Martín es como el ve las colecciones como un patrimonio del estado, y como el hacer publico los datos puede ser benéfico!
En la tarde fue el simposio de Biogeografía, que organizo Sergio Roig. La primera parte fue sobre filogeografía, donde Agustina Ojeda hablo de unos pequeños roedores cavernicolas de Mendoza. S. Poljack estudió unos armadillos argentinos conocidos como peludos, mientras M. Ferrer estudio la relación entre un gorgojo y una planta que parasita al algarrobo.
Después vinieron un par de charlas que por algún misterioso motivo, Sergio etiqueto como "clásicas", la mía no estaba ahí pero pues yo creo que lo que hago es herencia directa de Hennig y Brundin ;), supongo que eso es lo "clásico"? Juan Morrone habló de las "zonas de transición"que el ha trabajado: los andes y las sierras madre de México. Luego Paula Posadas mostró un trabajo bibliográfico sobre Journal of Biogeography y como en los últimos años, el número de papers de filogeografía a incrementado notablemente.
Martes, 16 nov
Llegue un poco tarde... así que me perdí la charla de Amelia :P. Luego Ignacio Escapa presento un laburo del que yo sabía un poco por Santiago Catalano, el co-autor, era sobre la araucarias y pues realizaron varios experimentos muy interesantes :D. Justo después, Marcos Mirande, que también labura en el lillo, y por ello más o menos sabía de que era también, presento una continuación de su trabajo con characidae, esta vez enfocado en un grupo particularmente modificado. Anyelo Vanegas, otro colombiano que labura también con Marcos, mostró los avances en otra parte de la rama de esta familia particularmente diversa de peces. Al final de la sesión, M. Alberdi (creo) habló sobre la biogeografía de los “elefantes” que vivieron en suramerica durante el Pleistoceno.
En la segunda sesión de la mañana Lone Aagesen estuvo hablando sobre los endemismos del área de las yungas y al zona nor-este de Argentina, así como la relación de esos endemismos para vegetales y las condiciones climatológicas. Luego Luis Acosta mostró como diferentes modelos climaticos pueden dar ideas muy diferentes en organismos con muestreo intensivo (unas especies de opiliones) y como es posible relacionar esos resultados con el laburo de campo. Tania Escalante hablo sobre las áreas de endemismo de algunos roedores norteamericanos y como se relacionan las áreas de endemismo y las distribuciones modeladas. Facundo Labarque contó su experiencia y resultados con un inventario de arañas de Panamá, yo había visto a Facu dar una charla más detallada hace poco, fue un tremendo esfuerzo eso, y Martín Ramírez en una conferencia bien particular nos contó acerca de como se desarrollo el laburo, específicamente, sobre el costo humano de ese proyecto.
Por la tarde, Miquel Arnedo redondeo una reunión con un enorme componente filogeográfico, con una revisión y muchos ejemplos de su laburo con arañas. Yo nunca he sido muy fan de la "filogeografía", pero siempre me ha gustado el trabajo de Miquel, me parece a la vez bien abarcativo, y a la vez como bien enfocado en una cuestión. Despues vino como la primera sesión del simposio de trabajos empíricos (organizado por Adriana Marvaldi) pero yo me sentía muy cansado, así que preste poca atención :P.
Al final de la tarde, Gonzalo hablo esta vez de los Opiliones y de su filogenia y biogeografía y como el a usado a estos arachnidos para contrastar o corroborar varias hipótesis biogeográficas. Luego Diego Pol hablo sobre nuevos dinos que se han encontrado en patagonia, y sobre la importancia particular de esos fosiles en la filogenia y biogegrafia de los dinosaurios (en especial, su implicación en nuestra comprensión en la ruptura de Pangea). Al final Adriana Marvaldi, hablo, como no xD, de la filogenía de los Curculionidos, de las coincidencias y diferencias entre la evidencia molecular y mofológica y los prospectos futuros en estos insectos.
Para finalizar el día, fue la "primera reunión" de la sociedad Argentina de taxonomía y sistemática, donde se discutió sobre las cosas que vienen, y lo que se ha hecho.
Esa noche fue la cena del congreso, y pues la charla corrió a cargo de Santí y Nacho, con una aparición especial de Marcos xD... Fue una charla muy graciosa ;).. bien hecho! :D!
Miercoles 17 nov
El día después de la fiesta llegue tarde (de nuevo xD) a las charlas de la mañana. No solo fue la trasnochada de la noche anterior :P, jejeje, también tenía que hacer el check-out y eso siempre me pone todo azarado :P... Lastima me perdí una charla sobre chinches que quería ver :(
V. Pereyra (creo) hablo sobre las relaciones filogenéticas en los Entiminae, un grupo muy diverso de gorgojos. Pablo Goloboff, dio una de las charlas más importantes (a nivel metodológico) sobre nuevas estrategias en el uso de pesos implicados que fueron implementadas en TNT hace poco menos de un mes. Claudia Szumik presento una de las charlas empíricas que más me gusto, sobre varios caracteres nuevos para las relaciones de los Embiopteros (su laburo de toda la vida :D), y sobre potenciales fuentes de aún más información. Mariano Donato hablo sobre los efectos de utilizar caracteres continuos es un grupo de Chironomidos. Amelia Chemisquy mostró potenciales efectos en las medidas de apoyo que se deben más que todo al tamaño de los grupos (más que al apoyo en sí).
En la tarde, la charla plenaria era de Maria Cigliano, quien mostró la increíble experiencia del Orthoptera file online, un enorme esfuerzo de los taxónomos de ortópteros, y se me hace un trabajo ejemplar en lo que tiene que ver con “cyber-taxonomía”. (En realidad, yo no vi la charla, pero vi una presentación preliminar hace unos meses ;) ejejeje).
El simposio de metodología (organizado por Pablo) cerro la reunión, D. Gutson hablo sobre un método estadístico para evaluar la potencial posición geográfica de los virus en una filogenia. A decir verdad, no estoy muy seguro de la justificación de su método. Juliana Sterli, hizo una excelente presentación sobre los diferentes efectos de los relojes moleculares, en particular, ella uso las tortugas y pues creo, hizo el test que yo siempre había deseado ver: que tanto se parece lo que se estima, con lo que se sabe en cuanto a relojes moleculares? En este simposio también hable yo, de lo de siempre, así que no hay mucho que agregar ;). Luego Santiago Catalano, mostró nuevas ideas sobre como la optimización de landmarks, y de como atacar específicamente el problema del alineamiento de los landmarks (gran charla!). Pablo, en su segunda charla del día, hablo esta vez sobre el efecto de los análisis con super-matrices y de como ciertos nuevas metodologías de "búsqueda" (basadas en búscar menos :P) pueden ser terriblemente afectadas! Para terminar Ignacio, dió su segunda charla de la reunión, esta vez sobre la identificación y efecto de los terminales inestables en el apoyo. Una cosa super-interesante, pues que a pesar de sonar super-evidente, creo nunca ha hecho un examen explicito de la relación directa entre taxones estables y apoyo, y por lo tanto, como se afecta la estabilidad a nivel de árboles suboptimos.
Una muy buena reunión, con muchas ideas interesantes, y pues me alegra ver como la comunidad de la gente que hace filogenia, y taxonomía, tiene un gran grupo dentro de Argentina, y que hay interés y continuidad en todos los niveles académicos :)!
Ahora a esperar otoño del 2012 en Mendoza ;)!
Etiquetas:
biogeografía,
reunión de cladística,
taxonomía digital
jueves, mayo 27, 2010
Hennig XXIX – Día 4 (26 mayo 2010)
El último día de las charlas de la Willi Hennig tiene el problema que esta el día después del banquete... pero tiene también el aliciente que suele reunir las charlas de muchas de las figuras establecidas del campo :)
La primera charla le correspondió a James Carpenter quien menciono los resultados del proyecto del “árbol de la vida” de Hymenoptera, en especial de Aculeata que es la parte que le corresponde a el. La charla me pareció muy buena, pero me gusto más la discusión que siguió, en especial cuando Jim llamo la atención que usar caracteres aditivos es más conservativo que dejarlos como no aditivos!
Fuki Saito estudió la filogenia de la avispa Ropalidia, en especial el origen de sus colonias por enjambre. Por la misma onda Jun'ichi Kojima se enfoco en un grupo de avispas y de la aparción y desparición de los “ayundates” (por lo que entendí, es una especie de proto-obreras).
Albert Prieto-Márquez presento una charla sobre Hadrosauridae, esta fue la primera charla que veo sobre un grupo de dinosaurios no avianos, lo cual me pareció muy bueno desde el punto de vista de mi alegría infantil xD. Entre los puntos que más generó discusión fue el desarrollo de su análisis biogeográfico.
Después Ulf Jondelius discutió los últimos adelantos sobre la filogenia de Acoela, el grupo hermano de todos los demás bilaterales. Aunque es un grupo primordialmente estudiando mediante moléculas, consiguieron algo más de 35 caracteres morfológicos, lo cual en este grupo es realmente muy complicado.
Seguía una charla de Lauri Kaila, pero como no pudo venir, su charla la dio Maria Heikkilä. Sus resultados mostraron lo difícil que ha sido encontrar evidencia molecular para el enorme clado de mariposas Ditrysia.
Nobuhiro Minaka hablo sobre el uso de la transformación de Gromov para medir indices de diversidad.
Pablo Goloboff dio una charla que me gusto mucho (no es porque sea mi jefe xD, es más bien que he visto como desarrolla muchas de las cosas que mostró) sobre algunos de los problemas que tienen los programas que usan máxima verosimilitud a la hora de medir el apoyo.
La charla de Daniel Janies me gusto también, era sobre la dispersión geográfica de enfermedades y de como se asocian ciertos fenotipos con la expansión (outbreak) del virus y ciertas mutaciones. Eso usando su porgrama Routemap y Google earth.
Torsten Dikow menciono muchas de las cosas que ha realizado para EOL, de cierta manera, era como la continuación de lo que dio en Tucumán, ahora más sofisticado. Me gusto la discusión que siguió bien orientada a la desorganización existente en el manejo de información biológica/taxonómica.
Jyrki Mouna dio una bonita presentación sobre varios coleopteros que de alguna manera se diversificaron recientemente en los bosques finlandeses/escandinavos. Su conocimiento de la fauna y flora de esa región me impresiono bastante!
Para terminar, Steve Farris hablo sobre algunos lejendarios ataques a la parsimonia, y de su relación con algunas propuestas y discusiones recientes, fue muy entretenida.
Jyrki termino el meeting con algunas palabras como presidente.
En general me gusto mucho. Es cierto que en comparación con el meeting de Tucumán fue mucho más pequeño, pero pues me parece que el comité organizador hizo una gran labor, no solo consiguiendo precios competitivos para la estancia en Honolulu, además dio un gran apoyo a los estudiantes y en todas las recepciones hubo comida más que suficiente ;).
Además, pues la playa, el mar, y el sol no tienen precio :)
Etiquetas:
filogenias moleculares,
filogenias morfológicas,
hennig meeting,
modelos,
programas
miércoles, mayo 26, 2010
Hennig XXIX – Día 3 (25 mayo 2010)
Fue el día libre del meeting. Yo me uní a un grupo que fue de hicking a un sitio desde donde se veía Diamond head, uno de los últimos volcanes de O'ahu. Nuestros guías, Jason y Tim nos mostraron infortunadamente un montón de plantas introducidas :-(... Pero el lugar es muy bonito, y la vista de la playa, y la caldera del volcán era genial!
En la noche, fue el banquete, donde como ha sido un patrón ya establecido en este meeting, la comida fue muy buena, exótica y abundante. Gonzalo dio la charla del banquete, que estuvo muy divertida ;)!
Y también se entregaron los premios para estudiantes, el 3er lugar (Don Rosen Award) fue para Jairo, el 2do lugar (Lars Brundin award) fue para mi :D! Y el 1er lugar (Willi Hennig Award) fue para Prashant. Estoy muy contento de estar ahí (y además hubo dos colombianos premiados!! :D)
martes, mayo 25, 2010
Hennig XXIX - Día 2 (24 mayo 2010)
Hoy fue un día un poco más “distendido” para mi :P pues tenía que dar mi paper, así que pues las minireseñas serán más pequeñas :P
Mi amiga Ivonne Garzón hablo sobre la filogenia de Hamadryas, unas mariposas que entre otras cosas, tienen la capacidad de hacer un ruidito, así que usando tanto datos morfológicos, como moleculares se preocupo, entre otras cosas, por detectar la historia de esa capacidad sonora.
Alejandro Oceguera, que había venido al meeting de Tucumán realizó un análisis molecular extensivo de Glossiphoniidae, un grupo de sanguijuelas. Infortunadamente era justo antes de mi charla, así que vi solo la mitad :-(.
Luego vino mi charla. Si alguno vio la pelí “El busca talentos” (es un clásico del cine beisbolero), o al menos, el principio, sabrá como me sentía :P. Es una comparación exagerada claro xD. Como sea, yo hable de lo que he estado laburando todo este tiempo, es decir, de metodología en biogeografía.
Tim Crowe, continua con su acumulación de evidencia sobre la filogenia de Galliformes, mostrando algunos de los problemas de usar algunos tipos de datos.
Vinieron los posters. Yo tenía un poster para mostrar (en colaboración con Dolores Casagranda), pero en mis olvidos se quedo en algún lugar de BsAs xP. Afortunadamente, gracias a Pablo Goloboff, Mark Siddall, Tim Gallaher y Stephanie Stephen pude conseguir ubicar el poster a tiempo! Vanessa Gonzalez que había estado en Tucumán, mostró un poster sobre la filogenia de un grupo muy diverso de bivalvos, me hubiera gustado que hubiera presentado esos resultados en una charla. Thomas Stach mostro una enorme acumulación de evidencia molecular para tratar de resolver las relaciones de los deuterostomos.
Marianna Teräväinen mostró los resultados de un análisis cladístico para reconocer las tradiciones medicinales de Vietnam, esa clase de trabajos donde se muestra el uso de análisis filogenéticos en otros contextos, donde claramente es aplicable me gusto mucho!
Volvieron las presentaciones, y Ward Wheeler dio una conferencia excelente, mostrando la relación entre modelos de likelihood y parsimonia de Sankoff. Estoy ansioso por ver sus resultados publicados y su reacción en la comunidad filogenética!
Ross Mounce comparo las relaciones entre particiones morfológicas (no siempre reconocidas) enfocándose en caracteres craneales versus caracteres no craneales y uso varias medidas para detectar que tan congruentes son, en un buen número de matrices de vertebrados.
Para terminar la mañana, Niels van Steenkiste dio su charla sobre las relaciones de Rhabdocoela, un grupo de platyhelmintos, en especial la relación entre los linajes marinos y los de agua dulce.
En horas de la tarde Lenka Drábková uso su trabajo en Juncaceae para determinar el uso de los barcodes en plantas. Sus resultados parecen apuntar a que los marcadores propuestos no son muy universales.
Prashant dio una segunda charla, esta vez ofreciendo una mirada a la filogenia de Grassatores un enorme clado de opiliones, cuya filogenia ha mostrado ser un hueso duro de roer.
La charla de Anna Phillips era sobre Hirudinidae, un grupo de sanguijuelas que por su gran importancia medica uno esperaría que fuera bien conocido. Pero como ayer mostró Lauren, ese no es el caso.--Por otros grupos que conozco de entomología medica y económica, al parecer la filog de esos grupos siempre es muy oscura :-/--.
El paper de Elizabeth Borda fue sobre Archinome, un genero de poliquetos marinos que viven en esas fumarolas de grandes profundidades, pero que también están asociados a la fauna que vive de las ballenas muertas.
Luego vino un batch de presentaciones más bien de evolución y desarrollo, especialmente en grupos marinos. Kevin Pang sobre Ctenophoros, Röttinger DuBuc sobre hemicordados, Yale Passamaneck en Brachiopodos y Mark Martindale sobre cnidarios, el origen del mesodermo y el blastoporo.
Así terminaron las presentaciones generales del 24. Hoy (25) es día libre, yo voy de hicking al cráter de diamond head, y en la noche es el banquete junto a la entrega de los premios de estudiantes. Los trabajos que más me gustaron a mi fueron los que dieron Varpu y Lauren el 23, y Alejandro y Anna (el 24) entre los trabajos empíricos. En lo metodológico, el que más me gusto fue el de Ross.
lunes, mayo 24, 2010
Hennig XXIX – Día 1 (23 mayo 2010)
Ayer fue el primer día de presentaciones del Hennig Meeting. He aquí una pequeña reseña de las diferentes presentaciones.
Primero Clifford Morden, Mark Siddall y Jyrki Mouna dieron la bienvenida, Clifford menciono un poco sobre la planta que aparece en el logo del meeting, que es una planta famosa del ecosistema hawaiano. No recuerdo si es Cyrtandra, pero bueno. Luego se dio paso a las presentaciones ya de los papers.
Pei-Luen Lu hablo sobre Dracaena y Pleomele, una grupo de plantas tropicales con una taxonomía bien confusa, su análisis fue bien molecular. Shaena Montanari hablo sobre la filog de los Anguimorfos, un grupo de lagartos que incluye a los Monitores, el mounstro del gila, los extintos Mosasaurios y un montón de lagartillos. Me pareció bien interesante que con su análisis de evidencia completa, si solo se usan los actuales, la topología preferida es la tradicional, pero al incluír los fosiles (que no tienen ADN) el resultado se parece más a los sugeridos inicialmente con moleculas!
Varpu Vahtera hizo una de las presentaciones que más me ha gustado, ella estudia escolopendras, y pues esta haciendo un análisis combinado, y bueno mostro muchas de las cosas y caracteres que ha trabajado en ese grupo :).
Luego hubo una charla corporativa xD. Más tarde Jairo Arroyabe (un colombiano!) hablo sobre una filogenía molecular de un grupo de peces africanos. No estoy muy seguro de su conclusión, en donde afirmaba que la divergencia del grupo era posterior a la fractura de Gondwana, yo soy muy esceptico de esas dataciones moleculares :P.
Lauren Esposito, hablo sobre Centruroides, un genero de escorpiones con una taxonomia muy complicada, me gusto mucho su trabajo, porque a pesar de tratarse de un grupo con una gran importancia medica, prácticamente es un laburo from the scratch, en lo que se refiere a la filogenia y la definición de las especies.
Maria Heikkilä dio su charla sobre las filogenias recientes de los Lepidopteros, particularmente Ditrysia.
Para la tarde, infortunadamente llegue tarde y solo ví parte de la presentación de Jerome Murienne, cuando llegue ya estaba dando los resultados y su impacto biogeográfico en los onicóforos. Este grupo tiene un fuerte elemento Gondwanico, y Jemore cree que algunos de sus clados anteceden el rompimiento de Gondwana!
Prasantha Sharma mostró la filogenía de un grupo de opiliones, Zalmoxidae, y según su análisis de áreas ancestrales (no me quedo claro como optimizó el carácter, al parecer hizo un mapeado con likelihood) hubo una dispersión desde el neotrópico a melanesia.
La presentación de Philippe Grancolas fue sobre la conservación en Nueva Caledonia. El y sus colaboradores usaron una gran cantidad de filogenias, y datos distribucionales para detectar cuales y como conservar esta isla tan particular! Luego, Romain Nattier hablo sobre filogeográfia de un grupo de ortópteros pero yo no asistí a su charla.
Más tarde, fue una sesión de “genómica”. Gonzalo Giribet hablo sobre lo difícil que ha sido secuenciar los monoplacoforos, un grupo muy importante de moluscos, y las perspectivas para conseguir una filogenia de alta resolución de los moluscos.
Rebecca Dikow, Kurt Lienau y Sebastian Kvist dieron diferentes charlas sobre bacterias y virus, con énfasis en como manejar esas enormes cantidades de secuencia, hacerles curatoría, y finalmente sacarle algo de jugo a los resultados filogenéticos (más allá de la sola filogenia).
En general, estoy contento, aunque espero un poquito más de morfología en los días que vienen ;).
domingo, mayo 23, 2010
Aloha!

En un par de horas comienza oficialmente el Hennig Meeting XXIX en Honolulu. Ayer fue la recepción. Estoy muy contento de haber podido venir, y poder mostrar lo que he estado trabajando :).
Voy a intentar hacer una especie de live-blogging a lo largo del meeting ;)... aunque dependo mucho de la batería y de que tan buena sea la señal en el lugar de la reunión (no esta garantizada xD).
viernes, octubre 23, 2009
TNT macros: Variables (2)
In a previous entry I wrote about variable declaration under TNT macro language, in this post I show the most important aspect of variables: their access.
Variables can be accessed in two ways, for reading, in which the value stored on the variable is retrieved. The second access way is for writing, in which a value is assigned to a variable.
General variables
In TNT general variables (variables declared with var keyword) are accessed by its name inside single quotations (').
quote The number stored on variable is 'value' ;
hold 'number' ;
In this example, the number stored on value is printed and the number stored in number is used as the maximum tree hold. This is an important feature of the language: you can replace any command parameter by the value of variables. This gives an extraordinary flexibility to TNT's macros.
Sometimes, specially at linux version, it is necessary to use parenthesis to read successfully the variable:
hold ('numero') ;To access arrays, the same format is used, with an index inside squared brackets ([]).
quote the value of the fourth element is 'vector [4]' ;
It can be a more complex (and useful) way for this example
quote the value of the 'i' element is 'vector ['i']' ;
Note that the variable i is also inside quotations. If you are somewhat familiar with some computer programming language, you note that quotations are a way to "dereference" of a variable.
This is an example for a multidimensional array
quote the value of the element 'i' , 'j' is 'mat ['i' , 'j']' ;
Using parenthesis (()) you can use math operations as index values. Here is an example with a two dimensional array, but that is exactly equal with any kind of array:
quote the value of the element 4, 'j' is 'mat [ (2 + 2 ) , 'j' ]' ;
Another option is the use of series
quote the value of the elements 3 to 8 is 'list [ 3 - 8 ]' ;
In this case, note that there are no parenthesis limiting the scope! If you put parenthesis, TNT interpret it as a mathematical operation.
To write values on general variables, the keword set is used with the name of the variable to assing, without quotations, and followed with the assigned value
set val 4 ; /* Assigns 4 to val */
set res (3 + 4) ; /* Assigns a math operation */
set num 'val' ; /* Assigns the content of val to num */
Note that as is the value of the variable that is assigned to num, then val must be inside quotations. To assign arrays, it is possible to use the same format, just using one element at time.
set vec [4] 5 ; /* Assigns 5 to the 4th element of the array*/
set arreglo [ (2 + 3) ] 8 ; /* Assigns 8 to the 5th element of the array */
set arreglo ['i'] 10 ; /* Assigns 10 to the i-element of the array */
set arreglo [ ('j' + 'k') ] 7 ; /* Assigns 7 to the element j + k of the array */
Note that indexes must be dereferenced!
Many times, an operation to a variable is just a modification of its value, for example increase its value by one
set val 'val' + 1 ;
It is more clear and intuitive, modifying directly the variable without dereference it, this can be done using a C-like sintaxys
set val ++ ; /* increase by 1 */
set arr [3] -- ; /* decrease the content of element 3 in 1 */
set mat [2, 4] += 'val' ; /* adds the value of val to the element 2, 4 of mat */
set num *= (3 + 'j') ; /* multiplies the content of num by (3 plus j)-times */
set arr [2] /= 3 ; /* divides the content of element 2 of arr by 3 */
set val -= 4 ; /* decreases the content of val in 4 */
In some cases, you want to store all array elements at the same time. This can be done with the keyword setarray. It is important that array dimensions coincide with the dimensions used in the declaration. The format of setarray is the name of the array followed by the name of the array an the elements.
var:
lista [5, 4]
;
setarray 5, 4 lista 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 2 2 2 2 ;
In this example, the following matrix is assigned to a 5x4 array
0 1 1 1
1 0 1 1
1 1 1 0
2 2 2 2
The order of the elements follows the dimensions from left to right, then the first four elements assigned to the array are the array elements [0, 0], [0, 1], [0, 2] and [0, 3].
Variables in loops
Usually, loop variables are control variables, so the best option is not modifying them. So in principle, write the code as if loop variables are read-only. If a loop variable needs to be modified TNT can do it, but that usually shows a design problem, and it is not a good practice to make that modifications.
Loop variables can be accessed using using names or number. Is a good practice to use names to identify loop variables.
To read a loop variable the number or name of the cicle must be preceded by number character (#). For example to save a simple search of several k values using implied weights [1]
loop =kval 1 10
keep 0 ;
piwe = #kval ;
mult ;
tsave* resu#kval.tre ; save; tsave /;
stop
As #kval is the name of the first cicle, then is possible to use #1, then to save the tree it would be
tsave* resu#1..tre ;
Note the double point after #1, that is because a point is interpreted by TNT as a decimal fraction, and assumes that the point is part of the name. In any case, it is better to use names ;). The numbering of loops is assigned in relation with its nestedness, starting with #1.
To modify a loop variable the keyword setloop is used, that change the most nested loop (i.e. the loop in which the instruction is used). As changing the value of loops distorts their sequence, you must be aware of infinite-loops. This is the reason that makes the change of loop variables unsafe and unrecommended. But, some times it is necessary a non-stop loop that finish only when a specified condition is meet. In that case, using endloop coupled with setloop can be very useful
var:
i
;
set i 0 ;
loop =non 0 1
/* several instructions */
if ('i' == 1)
endloop ;
else
setloop 0 ;
end ;
stop
It is assumed that somewhere inside the loop, the value of i is changed to 1.
Command line variables
Variables from command line are read-only. Then, we only can access their value. To access a command line variable it is used the percent sign (%).
set j %1 ;
Assigns j to the first parameter from the command line (by the way, %0 is the name of the macro). Trying to read more parameters than parameters actually provided, is an error and stops the execution. When you write a macro, keep in mind that command line parameters is the only way to communicate with the user, so it is necessary to do a good choice of reading order and default values.
As always, do not forgive to keep your TNT copy updated. And check the TNT wiki or join the TNT google group to deal with any question!
References
[1] Goloboff, P.A. 1993. Estimating character weights during tree search. Cladistics 9: 83-91. DOI: 10.1111/j.1096-0031.1993.tb00209.x
Previous post on TNT's macros
Etiquetas:
programming,
tnt,
tnt macros,
tnt wiki
Macros de TNT: Variables (2)
En la pasada entrega (hace como mil años :P) escribí sobre como declarar las variables en los macros de TNT, en el post de hoy, voy a mostrar lo verdaderamente importante de las variables: su acceso.
Las variables se pueden acceder de dos maneras, una es la lectura, en donde el valor guardado en la variable es leído de alguna manera. La segunda forma de acceso es la escritura, en donde se asigna un valor a una variable.
Variables generales
En TNT para leer a las variables generales (las declaradas con la palabra clave var) se utiliza el nombre de la variable entre comillas simples (').
quote El valor de la variable es 'valor' ;
hold 'numero' ;
En este ejemplo, se imprime el número contenido en la variable valor. Y se retienen solo la cantidad de árboles que indica numero. Esta cualidad es muy importante, porque podemos reemplazar los parámetros de cualquier comando de TNT por variables, lo que le da una flexibilidad enorme a los macros.
A veces, en especial en la versión de linux, es necesario usar un paréntesis para que se lea correctamente la variable:
hold ('numero') ;Para acceder a los arreglos, se utiliza el mismo formato, con el indice entre paréntesis cuadrados ([])
quote valor del elemento 4 del arreglo es 'arreglo [4]' ;
Es posible ser un poco más complejo es este caso
quote valor del elemento 'i' del arreglo es 'arreglo ['i']' ;
En este caso, se muestra el valor del elemento i dentro del arreglo. Véase que i va dentro de comillas. Para los que estén familiarizados con los lenguajes de programación pueden ver que al acceder a el valor de una variables este se "dereferencia" con las comillas.
Este es el ejemplo con arreglos multidimencionales
quote valor del elemento 'i', 'j' es 'dosd ['i', 'j' ]' ;
El indice del arreglo puede ser una operación entre paréntesis típicos (()), el ejemplo va con un array de dos dimensiones, pero es igualmente valido para arreglos de cualquier dimensión.
quote valor del elemento 4, 'j' es 'dosd [ (2 + 2), 'j' ] ;
Otra posibilidad muy útil en arreglos es el uso se series
quote el valor de los elementos 3 al 8 son 'lista [ 3 - 8 ];
En este caso es importante ¡no colocar los valores entre paréntesis! De lo contrario TNT interpreta una operación matemática.
Para escribir variables en TNT se utiliza la palabra clave set, usando el nombre de la variable a asignar, sin comillas, y seguida del valor asignado.
set valor 4 ; /* Asigna 4 a valor */
set resultado (3 + 4) ; /* Asigna una operación */
set numero 'valor' ; /* Asigna el contenido de valor a numero */
Véase que cuando lo que se asigna es el valor dentro de una variable, esta debe ir entre comillas. Para asignar arreglos se puede utilizar el mismo formato, asignando un elemento a la vez
set arreglo [4] 5 ; /* Asigna 5 al elemento 4 del arreglo */
set arreglo [ (2 + 3) ] 8 ; /* Asigna 8 al elemento 5 del arreglo */
set arreglo ['i'] 10 ; /* Asigna 10 al i-elemento de arreglo */
set arreglo [ ('j' + 'k') ] 7 ; /* Asigna 7 al elemento j + k del arreglo */
Es importante anotar que los indices del arreglo deben dereferenciarse!
Muchas veces, las operaciones sobre las variables consisten en modificar su valor, por ejemplo, incrementar su valor en 1.
set valor 'valor' + 1 ;
Es mucho más claro e intuitivo, modificar directamente la variable sin dereferenciarla, esto se logra mediante operadores que usan una sintaxis como la de C en esos casos.
set valor ++ ; /* incrementa valor en 1 */
set arreglo [3] -- ; /* disminuye el contenido del elemento 3 de arreglo en 1 */
set matriz [2, 4] += 'valor' ; /* adiciona el contenido de valor al elemento 2, 4 de matriz */
set numero *= (3 + 'j') ; /* multiplica el contenido de numero por 3 más j */
set arreglo [2] /= 3 ; /* divide el contenido de arreglo en 3 */
set valor -= 4 ; /* disminuye el contenido de valor en 4 */
Para los arreglos puede ser más útil asignar a la vez todos los elementos, para ello se utiliza setarray. Es muy importante que las dimensiones del arreglo coincidan con las de su declaración. El formato de set array es las dimensiones del arreglo, seguido por el nombre del arreglo, seguido por los elementos.
var:
lista [5, 4]
;
setarray 5, 4 lista 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 2 2 2 2 ;
En este ejemplo se creo un array de 5 x 4 que tiene la siguiente matriz
0 1 1 1
1 0 1 1
1 1 0 1
1 1 1 0
2 2 2 2
El orden de los elementos es siguiendo el orden de las dimensiones de izquierda a derecha, así en el ejemplo los primeros 4 elementos son los elementos [0, 0], [0, 1], [0, 2], y [0, 3] del arreglo.
Variables en ciclos
En general, las variables de los ciclos son de control, y por ello, lo mejor es no modificarlas. Así en principio, las variables de los ciclos son de solo lectura. Si se necesita modificar el valor de la variable de un ciclo, TNT también puede hacerlo, aunque es importante recalcar que las modificaciones de las variables en un ciclo, suelen reflejar algún problema de diseño, y no es una buena practica recurrir a esas modificaciones.
Las variables de ciclos se pueden leer usando nombres o números. Es una buena practica el utilizar nombres para identificar las variables de los ciclos.
Para leer una variable de un ciclo se utiliza el número del ciclo antecedido por el carácter numeral (#). Por ejemplo, para recorrer varios valores de k usando pesos implicados [1]
loop =kval 1 10
keep 0 ;
piwe = #kval ;
mult ;
tsave* resu#kval.tre ; save; tsave /;
stop
El #kval se refiere al primer ciclo, también podría utlizarse #1, en ese caso, para guardar el arbol debería usarse
tsave* resu#1..tre
Véase que al guardar el nombre del árbol se usa un doble punto despues del número. Eso es porque con un solo punto, TNT interpreta que forma parte del número (es decir, que se trata de un real con decimales). De todas formas, mejor utilizar el nombre ;). Los números de los ciclos se asignan de acuerdo a su anidamiento (empezando desde #1).
Para modificar el valor de una variable de un ciclo se utiliza la palabra clave setloop, que modifica el ciclo más anidado en el que se encuentra la instrucción. Dado que el cambiar el valor de los ciclos distorsiona la secuencia del ciclo, hay que tener cuidado con los ciclos infinitos. Es por eso que su uso no es recomendable. Sin embargo, a veces necesitamos de un ciclo que corra indefinidamente hasta que se cumpla alguna condición. En ese caso, utilizar setloop junto a endloop puede ser muy útil. Por ejemplo
var:
i
;
set i 0 ;
loop =non 0 1
/* varias instrucciones */
if ('i' == 1)
endloop ;
else
setloop 0 ;
end ;
stop
Aquí se asume que en alguna condición dentro del ciclo el valor de i se cambia a 1, lo que permite que el ciclo finalice.
Variables de linea de comando
Las variables que vienen desde la linea de comando son de solo lectura. Así solo podemos accesar su valor. Para acceder al valor de una variable de linea de comando se usa el signo (%)
set i %1 ;
asigna a i el valor del primer parámetro pasado por la linea de comando (por interés %0 es el nombre del macro). Tratar de leer más parámetros de los que se pasaron por linea de comando, es un error, y detiene la ejecución. A la hora de escribir un macro, hay que tener en cuenta que son estos parámetros de la línea de comando la única manera de comunicarse con el usuario, así que hay que hacer una buena elección de su orden, y de los valores por omisión.
Como siempre, no se olviden de chequear que su versión de TNT esta actualizada, así mismo no duden en consultar la wiki de TNT o suscribirse al grupo google de TNT!
Referencias
[1] Goloboff, P.A. 1993. Estimating character weights during tree search. Cladistics 9: 83-91. DOI: 10.1111/j.1096-0031.1993.tb00209.x
Etiquetas:
macros tnt,
programación,
tnt,
tnt wiki
lunes, octubre 19, 2009
The behemot! for free! / El behemot gratuito!
Santí noted that the "behemot"'s paper [1] is now available for free from Wiley/Blackwell web-page, this is the link:
Or you can jump directly to the paper abstract and download the pdf:
If you want to look the results, Pablo post a quick guide to manage the trees and extract info from them. If you want to check you favorite group, or just play for a moment, there are no excuses ;)!
And the best of it, as they are macros, you can use for your own trees! and don't forget to check out the TNT wiki!
Santí me hizo notar que el paper donde el "behemot" vio la luz [1] se encuentra disponible de manera gratuita en el sitio de blackwell. El enlace es este:
O pueden ir directamente a la pagina del artículo y descargar el pdf:
Para quienes quieran jugar con los resultados, Pablo publicó una guía rápida para manejar los árboles y poder extraer info de ellos. Así que si tienen curiosidad por ver como quedo el grupo que ustedes trabajan, o simplemente quieren pasar un rato, ya no hay excusas ;)
Y lo mejor de todo, como son macros, se pueden usar en sus propios resultados :D! No se olviden de consultar la wiki de TNT ;)
[1] Goloboff, P.A. et al. 2009. Phylogenetic analysis of 73 060 taxa corroborates major eukaryotic groups. Cladistics 25: 211-230. DOI: 10.1111/j.1096-0031.2009.00255.x
sábado, agosto 29, 2009
TNT macros: variables (1)
I forget an important feature. The commentaries.
TNT's macro language support the same multiline comment style of C (but not the single line comment style), enclosing comments within /* and */. Comments has no effect on the script, but are very useful to document the code!
/* This is a comment */
Comments are really important, no only to made code legible to other people, but also to our own understanding (specially, if it is code written long time away!).
Comments are valid after the macro mode is open (using macro =).
Following a well knew tradition I put this simple macro ;)
macro =;
/* My first TNT macro */
quote Hello world! ;
p/ ;
Now, we can enter on the subject of variables...
Variables are objects that the program manipulates by an specific objective given by the user. Variables store values, that can be modified or read. Usually we are interested in that value. In other circumstances the variable value is useful for controlling the program flow. Also they are used to store values given by the user.
When macro mode is open, TNT sets a default number of variables (1000). They can be accessed by a number, starting with 0. It is possible to change the amount of variables using macro* N K ; where N is the number of loops, and K the number of variables.
General variables
Using numbers to access variables can be useful for small scripts, but with more complex macros, the management of code can be very difficult. Then, is a good practice to use names for variables. Variables can be named in any part of the code. It is a good practice naming it just after starting the macro's file (just after macro = ). Variables names are declared using the keyword var.
There are two ways to name variables, the first is explicit, that is useful to backward compatibility with scripts written in old versions of TNT.
Var =
0 variable1
1 variable2
5 variable 3
;
In this format, using var =, each variable is declared using the internal number of TNT. The declaration finish with a semi colon. The principal problem with this style, is that it is an invitation to use the numbers instead of the names. This can be dangerous when parts of the code change (for example, adding more variables).
A more elegant way, and more secure (protects against usage of unnamed variables), is declaring directly the names, using var : instead of var =
var :
variable1
variable2
variable3
;
Here, I always use this style, that produce a more legible code.
TNT variables can be simple, that is, just with one value, or can be arrays, a vector of several consecutive values. TNT arrays are static, that is, they cannot be resized in running time. Then declare them only after you know the size of the array. For example, just after reading the data, and we known the number of nodes in a tree.
An array declaration is simple, just as a normal variable, but dimensions inside brackets ([]), if it is a multidimensional matrix, use a comma (,) to separate the values, in a similar way that arrays are declared in pascal.
Var:
anArray [25]
aMatrix [3, 4]
;
Variables in loops
In TNT loop variables are independent from general variables. This variables are managed by TNT and not directly by the programmer. As general variables they can be named, o accessed using a number that start from 1, and increase in each nesting level. I generally use numbers. Maybe a better practice is to use names, as that freed the loop from its nesting level, an that's the only way to access some variables (for example, if you access it from another file).
Loop variables are declared using an equal before the name:
loop =cicle 1 10
Variables in the command line
When a macro is called, it is possible to assign some initial values from the command line associated with the script. This variables are sometimes known as arguments or parameters. For example, a macro called dojac can receive as parameters the number of replicates and the number of iterations per replicate
dojac 1000 20 ;
Then, dojac receives 1000 replicates and each replicate with 20 iterations.
As TNT's scripts are not interactive, this is the only way to the final user to modify the behavior of the scripts. Then, if the idea is to distribute the macro, calling the macro without parameters shows a help screen explaining the objective, the parameters, and the conditions necessary for using the macro in a correct way.
The function argnumber returns the number of arguments used when calling the macro.
Not forget to check out for TNT updates, and of course, several scripts and useful documentation at the TNT wiki :D
Etiquetas:
programming,
tnt,
tnt macros,
tnt wiki
Suscribirse a:
Entradas (Atom)
