I am a big fan of Python, a general-purpose programming language known for being easy to learn and use – so easy, in fact, that even a quantitatively challenged biologist like me can make semi-useful things with it. As a grad student I cut my teeth learning C, and then Java; but one day in the late nineties I picked up a copy of Linux Journal, read an article about Python, and never looked back. Goodbye, segfaults and linker headaches! Sayonara, extremelyLongAndVerboseJavaClassHierarchies!

Here are some things I’m currently working on.

Phylografter - collaborative storage and synthesis of phylogenetic trees

Lagrange – likelihood analysis of geographic range evolution

  • estimate rates of dispersal and local extinction from categorically-coded geographic range data on phylogenetic trees
  • ancestral-area estimation in the context of bifurcating range inheritance scenarios, e.g., vicariance
  • customized constraints may be placed on dispersal in space and through time
  • reference: Ree and Smith 2008, Systematic Biology [PDF]

GeoSSE – range-dependent analysis of speciation and extinction rates

  • models reciprocal effects of geographic range evolution and lineage diversification
  • implemented by Emma Goldberg in the diversitree R package (not Python, boo!)
  • reference: Goldberg et al. 2011, Systematic Biology [PDF]

Biodiversity of the Hengduan Mountains and adjacent areas of south-central China

  • specimen database recording inventories of plants and fungi in Sichuan, Xizang (Tibet), Yunnan, and Qinghai
  • photographs of localities (habitats), living specimens in the field, and herbarium sheets
  • can be used to search for and request tissue samples of plants for DNA extraction
  • multi-lingual gazetteer

Ivy – interactive visual phylogenetics

Tred – draw multi-page PDF figures of phylogenetic trees