This creates a 3D map of ancient samples that have been found by archaeologists and included in published research. You can optionally include all samples (*), specific haplogroups (ex.: 'B2'), or a haplogroup and its descendant groups (ex.: 'B2*'). Any unparseable text will yield the default map of B2.
This is still a work in progress. So far, it takes an RDF, which is a specially formatted text file, and combines identical samples into weighted nodes, then uses Kruskal's maximum spanning tree algorithm to create a fully connected graph. The nodes with several closely related leaf nodes are older, ancestral haplotypes.