First of all – the techniques used

D3.js is a JavaScript library for manipulating documents based on data. D3 helps you bring data to life using HTML, SVG and CSS. D3’s emphasis on web standards gives you the full capabilities of modern browsers without tying yourself to a proprietary framework, combining powerful visualization components and a data-driven approach to DOM manipulation. Using D3 gives us an opportunity to visualize one data set (JSON) in many different haplotrees.

Thanks to D3.org and special thanks to Rob Schmuecker and Rob Spencer for valuable information and support.

Why haplotrees?

The Haplotree Information Project is about to visualize Y-DNA and mtDNA haplotrees in an interactive and user friendly way.

A haplotree is the fastest way to get introduced to the human journey and the genetic relationships between human beings. If you already have done genealogy and you have a family tree and a “most distant ancestor” in the root of the tree the next step is probably to order a DNA-test that will give you a haplogroup and place you somewhere in a haplotree.

Haplotrees and haplogroups

A phylogenetic tree or evolutionary tree is a branching diagram or “tree” showing the inferred evolutionary relationships among various biological species or other entities—their phylogeny—based upon similarities and differences in their physical or genetic characteristics.

For Homo Sapiens the taxa joined together in the tree are implied to have descended from a common ancestor, “Adam” for Y-DNA and “Eve” for mDNA.

Today the letter names of all haplogroups (Y-DNA or mtDNA) in the tree run from A to Z. As haplogroups were named in the order of their discovery, they do not reflect the actual genetic relationships. Each major branch is named with a letter, and deeper branches within the tree are labeled with numbers and letters to note their relationship to one another. Each branch is thousands or tens of thousands of years old. Because members of a branch tend to be found in the same region of the world, your haplogroup assignment identifies your deep ancestral origins.


In human genetics, a human Y-chromosome DNA haplogroup is a haplogroup defined by differences in the non-recombining portions of DNA from the Y chromosome (called Y-DNA). It represents human genetic diversity based on single-nucleotide polymorphisms (SNPs) on the Y chromosome. Y-DNA haplogroups represent major branches of the Y-chromosome phylogenetic tree. Y-chromosomal Adam is the name given by researchers to the patrilineal most recent common ancestor of all living humans at the root of this tree. Estimates of the date when Y-chromosomal Adam lived have varied significantly in different studies.


In human genetics, a human mitochondrial DNA haplogroup is a haplogroup defined by differences in human mitochondrial DNA. Haplogroups are used to represent the major branch points on the mitochondrial phylogenetic tree. Understanding the evolutionary path of the female lineage has helped population geneticists trace the matrilineal inheritance of modern humans back to human origins in Africa and the subsequent spread around the globe. The hypothetical woman at the root of all these groups (meaning just the mitochondrial DNA haplogroups) is the matrilineal most recent common ancestor (MRCA) for all currently living humans. She is commonly called Mitochondrial Eve.

Sources: ISOGG, YFull, Wikipedia and Family Tree DNA