Madeline Home >> Comparisons

Comparison of Pedigree Drawing Programs

Introduction

We compared the following five freely-available pedigree drawing programs:

These programs implement at least some of the recommendations of the Pedigree Standardization Task Force (PSTF, Bennet, R.L. et al, 1995).

In our comparison we looked only at the graph representation of the sample pedigrees as drawn by these programs. In other words, we only wanted to test how well these programs are able to structure the layout of individuals in a pedigree graph. We looked at the results and asked questions like:

Even though a number of other comparisons might be relevant, we did not compare the following features in the above programs:

To conduct the tests, we chose five pedigrees from the Madeline 2.0 Test Data which we thought were fairly representative of the kind of complex pedigrees which are encountered in family-based clinical and genetic studies:

Summary of Results

Cranefoot

Cranefoot always converts the cyclic graphs present in consanguinous matings into acyclic graphs. This requires drawing one of the individuals in a consanguinous mating twice. The new version (v. 3.2) which we tested now draws colored curving connectors between the repeated individuals. This is a great enhancement to the program which makes it much easier to read the output.

Because Cranefoot always draws acyclic graphs, the program is able to draw very large pedigrees containing many hundreds of individuals very compactly. It is likely that Cranefoot can represent many such very large pedigrees more compactly than Madeline 2.0 PDE.

However Cranefoot does not perform even simple optimizations such as sibling reordering within nuclear families in order to place married individuals from different nuclear families as close to one another as possible.

In contrast, Madeline performs sibling reorderings to optimize the proximity of married individuals in many cases (there are some cases where this is not possible). Madeline also uses cyclic graphs whenever cyclic graphs can be drawn without line crossings. After that, Madeline repeats individuals in acyclic graphs similar to Cranefoot. However, Madeline currently lacks the curved connectors that programs like Cranefoot and Kinship have.

Haplopainter

Haplopainter often uses a non-standard graphing layout when drawing the offspring of consanguinous matings. This is evident in Haplopainter's rendering of cs_004 where the vertical line joining the mating of 3-4 to the offspring comb ascends vertically up the page rather than descending as is normally the case. This behaviour also leads to an unreadable (i.e., erroneous) graph in the case of cs_002.

Haplopainter also failed to draw some offspring correctly beneath their respective parents in the multiple spouse case of ms_004.

As a result, Haplopainter failed to draw 2 of 5 test cases correctly. The authors of Haplopainter acknowledge some of the limitations in the current version of their program.

Kinship

The Kinship module in R sometimes resorts to using a curving dashed connector for a consanguinous mating in cases where Madeline 2.0 would draw a cyclic graph directly.

The Kinship package does not highlight consanguinous marriages using a double-line.

As far as we can tell, Kinship does not handle non-gendered individuals: We had to convert some non-gendered individuals to gendered individuals in order to complete our tests.

The Kinship module also failed to draw 1 out of the 5 tests for reasons that were not clear to us.

PedigreeQuery

In our tests, PedigreeQuery was not capable of rendering a complete graph in 2 out of 3 of the consanguinous test cases.

In our tests we were also not able to determine a way to make PedigreeQuery handle non-gendered individuals. We had to convert some non-gendered individuals to gendered individuals in order to complete our tests.

Detailed Comparison Table

Consanguinous cs_002

Madeline 2.0 PDE

Madeline 2.0 cs_002 image output

This data set contains a consanguinous pedigree. This data set is used to test the drawing of uncle-niece consanguinous matings occurring in subsequent generations.

Cranefoot

Cranefoot cs_002 image output

Pedigree is drawn correctly.

Haplopainter

Haplopainter cs_002 image output

Pedigree is drawn incorrectly

  • Individuals 6 and 7 are connected
  • Non-standard notation used to represent a offspring line between Individuals 3 and 4

Kinship package in R

Kinship cs_002 image output

Pedigree is drawn correctly.

PedigreeQuery

PedigreeQuery cs_002 image output

Error: Undrawable pedigree structure.

Consanguinous cs_004

Madeline 2.0 PDE

Madeline 2.0 cs_004 output

In this consanguinous pedigree an uncle-niece marriage is followed by a marriage between first cousins in the offspring generation.

Cranefoot

Cranefoot cs_004 output

Pedigree is drawn correctly.

Haplopainter

Haplopainter cs_004 output

Pedigree is drawn correctly. Non-standard notation is used to represent the offspring line of individuals 3 and 4.

Kinship package in R

Kinship cs_004 output

Pedigree is drawn correctly.

PedigreeQuery

PedigreeQuery cs_004 output

Error: Undrawable pedigree structure.

Consanguinous Pedigree cs_009

Madeline 2.0 PDE

Madeline 2.0 cs_009 output

In this consanguinous pedigree, a marriage between third cousins is shown.

Cranefoot

Cranefoot cs_009 output

Pedigree is drawn correctly but not optimized.

Haplopainter

Haplopainter cs_009 output

Pedigree is drawn correctly.

Kinship package in R

Kinship cs_009 output

Pedigree is drawn correctly.

  • Consanguinous marriage is not indicated using double lines.
  • Not all offspring lines are vertical.

PedigreeQuery

PedigreeQuery cs_009 output

Pedigree is drawn correctly but without the double lines indicating consanguinity.

Multiple spouse Pedigree ms_004

Madeline 2.0 PDE

Madeline 2.0 ms_004 output

This data set is used to test the drawing of a multiple spouse pedigree. One man is married to eleven women.

Cranefoot

Cranefoot ms_004 output

Pedigree is drawn correctly.

Note: All the spouses are drawn on the left.

Haplopainter

Haplopainter ms_004 output

Pedigree is not drawn correctly. The children are not drawn below their parents in some cases.

Kinship package in R

Kinship ms_004 output

Unable to draw the pedigree. The following error message was obtained: if(min(pos2) < 0) { : missing value where TRUE/FALSE needed

Note: This package does not handle individuals with unknown gender.

PedigreeQuery

PedigreeQuery ms_004 output

Pedigree is drawn correctly.

Note: All the spouses are drawn on the right. This program does not handle individuals with unknown gender.

Multiple Descent Tree Pedigree dt_002

Madeline 2.0 PDE

Madeline 2.0 dt_002 output

This data set is used to test the drawing of a multiple descent tree pedigree with three descent trees.

Cranefoot

Cranefoot dt_002 output

Pedigree is drawn correctly but one founding group is drawn at a different level.

Note: All the spouses are drawn on the right.

Haplopainter

Haplopainter dt_002 output

Pedigree is drawn correctly but double lines indicating consanguinity are drawn for marriage links between individuals from different founding groups. These should just be single lines.

Kinship package in R

Kinship dt_002 output

Pedigree is drawn correctly.

PedigreeQuery

PedigreeQuery dt_002 output

Pedigree is drawn correctly with one line crossing.

Note: The output obtained from PedigreeQuery depends on which individual was used as the start individual, and the subsequent individuals used to expand the pedigree.

*** End of Document ***