07 September 2009

Glimpses of Stuff I've Been Working On

Two long-term projects of mine should see the light of day soon. Here are some previews (click to see full size):



(Why does everything I do lately involve directed, acyclic graphs?)

24 August 2009

Online NEXUS File Viewer

It's been a month since my last post, but I have a very good reason for the hiatus. Namely, I was busy getting married to this woman (at the Los Angeles County Museum of Natural History) and going on our honeymoon (in Sydney, Australia).

Now that I'm back in California, time to get back to work on Names on Nodes! I've just put together a small demo of two key parts of its functionality: the reading of NEXUS files and the displaying of phylogenetic networks. Click here to see the NEXUS Viewer demo. This application opens NEXUS files and displays the trees in them as a combined phylogenetic network.

Things you need to know:
  1. You must have a NEXUS file stored locally on your computer to use this.
  2. That file should have a TREES section. (If not, the viewer should just display a list of operational taxonomic units.)
  3. This could get messy for NEXUS files with lots of trees. (Although it's kind of neat-looking.)
  4. You can move the nodes around by clicking on them, or click anywhere else to move the entire diagram.
  5. I would dearly love to know if, for some reason, it does not work for a given file.
Enjoy!

23 July 2009

Two "Names on Nodes"-Related Launches

I'm still a clear way away from launching the beta application, but I've just made a couple of launches related to my long-time work-in-progress, Names on Nodes.

First up, and probably of more interest to most people, I've begun the documentation for the MathML definitions used by Names on Nodes. The document includes general reviews of relevant mathematical and biological concepts, a quick review of MathML and the technologies it's based on, some comments on correlating mathematical and biological concepts, and definitions for all entities (including operations) used by Names on Nodes. Note that this covers a lot of the same ground as in my 2007 paper, with a few minor changes in the symbols and terminology (e.g., I now call the ancestor of a clade a "cladogen" rather than a "cladogenetic set").

Secondly, I've made the project open-source, by moving it to Google Code. If you are a developer interested in checking this out, go here. It's incomplete, so I don't know if anyone will have any real interest in looking at it yet. (Honestly, I mostly posted so that, on the off chance that I unexpectedly kick the bucket, my magnum opus won't be lost forever.)

This information is also on the new Names on Nodes home page.

22 July 2009

"The Case for Human Evolution" - Illustrations

I have been working on an essay entitled The Case for Human Evolution for a while. I've just posted some illustrations I've been working on:


Enjoy!

30 June 2009

New Useless Utility: Text Tree Maker

I finally got around to launching something at namesonnodes.org. No, it's not Names on Nodes itself, unfortunately. The project is taking a huge amount of time. But I thought I'd post something, so here's a little Flex application I made (using the new Flash Builder 4 Beta!) using a smidgen of the technology behind Names on Nodes.

Have you ever been discussing phylogeny online and wished there was an easy way to make a readable cladogram? (95% of readers leave.) Those of you who are left, check this out: Text Tree Maker. Just type in a Newick tree string, and voilá! Okay, so typing in a Newick tree string is not that easy in the first place, but it is easier.

Well, I'll be using it, anyway. Check this one out!


Ardipithecus
|--ALA-VP 2/10
`--+--ARA-VP 6/1
|--KNM-T1 13150
`--Praeanthropus
|--KNM-KP 29281
`--+--AL 288-1
|--KNM-WT 40000
|--KT 12/H1
|--LH 4
`--+--BOU-VP 12/130
|--Australopithecus
| |--Taung 1
| |--Australopithecus (Paranthropus)
| | |--SK 6
| | `--TM1517
| `--Australopithecus (Zinjanthropus)
| |--KNM-WT 17000
| |--OH 5
| `--Omo 18
`--Homo
|--KNM-ER 1470
|--KNM-ER 1813
|--OH 7
|--OH 9
`--Homo (Homo)
|--D 2600
|--KNM-ER 992
|--LB 1
`--+--Ceprano 1
|--Trinil 2
`--Homo (sapiens)
|--ATD 6-5
`--+--Mauer 1
`--+--Neandertal 1
`--+--Florisbad 1
|--Kabwe 1
`--Uppsala domkyrka: Carolus Linnaeus


NOTE: Right-click on the application and select "View Source" if you want to see some of the code behind it.

24 June 2009

Human-Chimpanzee Systematics

I've been working on a couple of projects to do with stem-humans. Naturally, these efforts necessitate creating a working phylogeny. I thought I'd post what I more or less have so far. I haven't done any rigorous work here; I'm just trying to piece things together from various publications.

This is a phylogeny of all known species within Clade(Homo sapiens Linnaeus 1758Troglodytes gorilla Savage vide Savage & Wyman 1847), including some unnamed, fragmentary species that can only be differentiated from other species by location and/or time. (Note: Sahelanthropus tchadensis Brunet & al. 2002 is excluded because it doesn't seem to be clear that it does fall within this clade.) I've included links for all citations with permanent identifiers, when available, or popups with fuller information, when not. The phylogeny is interspersed with a rank-based taxonomy. (Unfortunately, there are no published phylogeny-based names to apply here.) Outlined circles indicate that the species may be ancestral to what are shown as sister groups. Species names are listed with their original prenomina (genera), regardless of current placement. I've added a note when the listed species is the type of its prenominal genus or another genus.

29 May 2009

One Name, One Taxon

One of the primary goals of a nomenclatural code should be to make sure that names refer to one taxon and one taxon only. This principle is mentioned in the ICZN's preamble (emphasis added):
The objects of the Code are to promote stability and universality in the scientific names of animals and to ensure that the name of each taxon is unique and distinct. All its provisions and recommendations are subservient to those ends and none restricts the freedom of taxonomic thought or actions.
This point is reiterated in Article 52:
52.1. Statement of the Principle of Homonymy. When two or more taxa are distinguished from each other they must not be denoted by the same name.
Yet there are numerous cases in zoological nomenclature where this rule is flagrantly ignored. A few:
  • "Echinoidea" is the name of a superfamily containing Echinus (a sea urchin genus), but also the name of a class containing that superfamily.
  • "Ophiuroidea" is the name of a superfamily containing Ophiura (a brittle star genus), but also the name of a class containing that superfamily.
  • "Chelonia" is a genus of turtle, but also used as the name of the order containing all turtles.
  • "Pterodactyloidea" is the name of taxon given various ranks (usually suborder) including most short-tailed pterosaurs, but also the name of a superfamily within that taxon.
This is getting to be an actual problem for me, because parts of Names on Nodes rely on the principle that a name only has one meaning under a given authority. When I create a database entry for urn:isbn:0853010064::Pterodactyloidea, is it for a suborder or a superfamily? ICZN rules actually dictate that the superfamily has precedence, since Family Pterodactylidae Meyer 1830 has precedence over Suborder Pterodactyloidea Plieninger 1901. (The ICZN considers the naming of any taxon whose rank is in the family group as implicitly naming taxa for all ranks of the family group; thus, naming Family Pterodactylidae implicitly names Superfamily Pterodactyloidea, Subfamily Pterodactylinae, Tribe Pterodactylini, and Subtribe Pterodactylina.) People who use "Pterodactyloidea" for a suborder, beware! You are violating the rules of the ICZN! (WhooOOOOoo!!)

The situation with "Echinoidea" is even worse. As near as I can tell, Family Echinidae was named by Gray in 1825 (thus implicitly naming Superfamily Echinoidea), but Class Echinoidea was already named by Leske in 1778. And the ICZN mandates that the superfamily including Echinus must be named "Echinoidea" if the family is named "Echinidae". I'm not sure how this is supposed to play out ... does Echinus simply not get a name for its superfamily? Those poor wee urchins....

(And people wonder why I support an alternative nomenclatural code without mandated suffixes for ranks!)

In the case of Chelonia, people are generally using another name ("Testudines") for the order nowadays, but in other cases I've got a real problem, especially if I hope to automatically pull a lot of this data from other databases.