Eyegene Home >> Madeline 2.0 Home
Madeline 2.0 Pedigree Drawing Engine
2014.08.13 Greatly improved spreadsheet support! - Subversion release 112 of Madeline 2.0 now provides greatly improved support for reading pedigree data from OASIS (Open Office, Libre Office) spreadsheets. Madeline previously required that missing data always be coded in spreadsheets using a period "." (full stop) character. However this requirement meant that if one accidently left one or more cells blank, the program would frequently fail to read the data table correctly. The program now treats empty cells as if they contained a missing value character, "."
2014.07.10 New Pregnancy Feature! -
Users may now include a column called Pregnancy in order to indicate
pregnancies. In order to avoid confusion, pregnancies are displayed using a
unique double-struck P, “ℙ”. Since the “ℙ” is printed in the center of the icons,
be sure to set the
--noiconlabels so that the “ℙ” will not over-print
on top of affection status code letters. Here is a sample data file:
As an example, this file can be run using the following command line:
madeline2 --noiconlabels --Labels "Gestation DOB" pregnancies.data
Or, alternatively, you can let Madeline read the data file directly over the internet:
madeline2 --noiconlabels --Labels "Gestation DOB" http://eyegene.ophthy.med.umich.edu/madeline/testdata/input/pregnancies.data
2013.02.13 Improved Public Service! - Pedigrees displayed in the web service now also display the dates of birth of individuals. When dates of birth are present in the DOB column, siblings are automatically ordered by date of birth when possible.
2011.11.21 Enhanced flexibility in files and display! - Three new enhancements to Madeline 2.0 PDE are now available in SVN revision #99:
- More flexible coding in data files. Previous versions of Madeline accepted only abbreviations such as "Y" for "yes", "N" for "no", "M" for "male", "F" for "female" and so on. As of revision #99, Madeline now recognizes full-word codes such as "yes", "no", "true", "false", "male", "female", "divorced", "separated" and so on in the key categorical fields. This change should make Madeline easier to learn and use, especially in pedagogical and other situations where it is important to make data files as easy-to-read and transparent as possible.
- Display of IDs in tooltips. When a Madeline 2.0 SVG pedigree drawing is displayed in a conformant web browser, using the mouse to hover over an icon of an individual will now result in the display of a tooltip with the individual's ID shown. This can be quite useful, especially as very long IDs may be truncated in the tabular display that appears below the icons on a pedigree drawing.
- New command line flag to prevent label truncation. In the past, very long identifiers and other field data could be truncated when strings were excessively long. A new command-line option, --nolabeltruncation or simply -N now prevents truncation of labels on a drawing when they are too wide. While this option may comprise the overall layout quality of a pedigree and is not recommended for pedigrees intended for publication, it can nevertheless be quite useful on pedigree drawings used as part of a lab's internal process workflow.
2011.03.23 Improved Public Service! - A bug whereby the affection status of individuals was not shown correctly under certain circumstances when a pedigree was retrieved from online storage has been fixed on the Madeline public web service.
2011.03.23 Improved Error Checking! - Accidental typing mistakes can lead to some very unusual error conditions in data sets. Certain error conditions may result in Madeline failing silently or even entering infinite loop conditions. Recently, the reincarnation of a paternal grandmother as a daughter of a certain father in a fairly large pedigree made me realize that such impossible conditions need to be checked in a generic manner. SVN revision #96 now includes an error-detection algorithm that looks for ancestral individuals who are also descendants. The program reports all individuals who are involved in such ancester-descendant loops so that the user can quickly determine where the error truly lies.
2010.11.18 New Binary Package! - If you don't want to bother with building Madeline from the source tree, Daniel Johnson recently created a Fink package which will allow you to install the latest version of Madeline-2.0 PDE with relative ease on Apple OS X.
2010.09.29 New Feature! - Madeline now supports quadrant shading of icons as an alternative to gray or color series shading. To use this feature, pass "--quadrantshading" or "-q" as a command line argument. The first "Affected" field encountered in the data set will be used. Any additional "Affected" fields will be ignored. Integer codes in the range from 0-15 inclusive produce the quadrant shaded patterns shown in the table below.
Note that zero produces an unshaded pattern. Non-integer codes as well as integer codes outside of the range 0-15 will simply be displayed in the middle of the icon without a shading pattern. This is illustrated in the pedigree above where:
- The shading code for individual 17 is a zero
- The code for individual 16 is "16" for which no shading pattern exists
- The code for individual 18 is a missing value, and thus a dot is printed
- The code for individual 19 is the letter "I" which is thus printed as shown
By default Madeline uses either shades of gray or bichromatic color series to indicate different levels of categorical affection variables. The gray and color shading models are useful for interactive pedigree displays such as might be encountered in a web applications. However for publication purposes, researchers often want to use quadrant shading patterns or hatching patterns to display levels of a categorical variable such as affection status. This new feature allows users to employ quadrant shading patterns. Hatching patterns are not supported. Also note that at the current time the program does NOT produce a legend when the quadrant shading option is specified.
2009.09.23 - Our experimental web-based Madeline service now works in all modern browsers, now including Internet Explorer versions 6, 7 and 8 thanks to Google's new Chrome Frame plugin. This Google plugin adds advanced features required by the Madeline web application that are missing from Microsoft's Internet Explorer series of browsers. Using Madeline's web service in other browsers such as Firefox, Safari, Google Chrome, and Opera does not require a plugin.
2009.05.23 New Feature! - Madeline 2.0 PDE now draws curved connectors in the background showing the placement of children adopted by relatives in a pedigree. Madeline 2.0 uses the Pedigree Standardization Task Force (PSTF) recommended graphics for children who are "adopted in". For showing "adopted out", Madeline uses square brackets that face outward. In addition, Madeline identifies "adopted in" children with individual ids prefixed with a plus sign, "+" while "adopted out" individual ids are prefixed with a negative sign, "-".
2009.05.22 - OpenHelix, LLC, has published a web tutorial on Madeline 2.0 PDE. OpenHelix provides on-demand multimedia narrated tutorials on a large number of popular free web-based bioinformatics tools. We are honored that OpenHelix decided to include Madeline 2.0 PDE as part of their suite of online tutorials.
2009.05.22 - New Feature! - Madeline 2.0 PDE now draws curved connectors in the background between individuals who are drawn more than once on a graph.
In the past, such individuals were only marked with unique indentifying letters, "A", "B", "C", etc. Tracking down matching individuals on large or complex graphs could be time-consuming. The new background connectors make large and complex graphs easier to read and understand with much less effort.
2009.05.20 - New Feature! -
Madeline 2.0 PDE now supports the display sterile and infertile individuals using PSTF-recommended
graphics. To display sterile individuals, include a column called
the data file. To display infertile individuals, include a column called
in the data file. Then simply include labels such as "azoospermia" or "tubal ligation"
in the appropriate column for the relevant individuals. Labels will appear in small
type below the symbols as shown in the pedigree above. Leave these columns blank (or containing
the standard dot "." as a missing symbol) for fertile individuals.
2009.05.12 - New Feature! -
Madeline 2.0 PDE now supports the display of divorced (double-slash), separated (single slash),
and other relationship-ended (squiggle slash) couples. To use this
feature, simply include a column called
RelationshipEnded in the data
Since individuals can have multiple partners, be sure to mark both
individuals of a pair. For example, mark divorced couples using
divorced. Mark separated couples using
separated. If the reason why a relationship ended
is unknown, or if the relationship represents a casual relationship which has ended,
you can use any non-missing label of your choosing. A general label such as
yes is sufficient.
In order to indicate multiple relationship breakups such as is shown in the example above,
we mark individual m103 with a generic label
Y as shown, and then mark his partners
respectively with one of the more specific labels (i.e.,
D for m106 or
for m105). When more specific information is not available, or the relationship represents
a casual relationship which has ended, then we just use a generic label such as
The Madeline 2.0 Pedigree Drawing Engine is a pedigree drawing program designed to handle large and complex pedigrees with an emphasis on readability and aesthetics. Although the program takes inspiration from Madeline v. 0.935, the Madeline 2.0 Pedigree Drawing Engine, or just Madeline 2.0 for short, is in fact a completely new and different program written from scratch by Ed Trager, Ritu Khanna, and Adrian Marrs.
For complex pedigrees we use a hybrid algorithm in which consanguinous loops are drawn as cyclic graphs whenever possible, but we resort to acyclic graphs when matings can no longer be connected without line crossings. A similar hybrid approach is used to avoid line crossings for matings between far-flung descendants of different founding groups. Written in object-oriented C++ and released under the GNU General Public License (GPL), Madeline 2.0 reads input files specified on the command line and generates pedigree drawings without user interaction. Pedigree output in scalable vector graphics (SVG) format can be viewed in browsers with native SVG rendering support such as Firefox 1.5+ and Opera 9.0+, or in vector graphics editors such as Inkscape.
A Brief History
Sometime around 1996 Ed Trager began to writing a program for preparing, visualizing, and exploring human pedigree data used in genetic linkage studies. This became the program known as Madeline which remains in use by researchers worldwide. In addition to converting pedigree and marker data into various formats required by linkage analysis software, including Crimap, Genehunter, Allegro, Mendel, Merlin, PedCheck, and Simwalk2, Madeline also provides functionality for querying pedigree data sets and for drawing pedigrees. The current development version is 0.936 and the stable version is 0.935.
Madeline 0.935 remains a capable program, but it's pedigree drawing routines have many limitations because the program was originally only designed to handle single descent trees of simple nuclear families. Consanguinous loops, multiple mated individuals, and multiple founding groups often occur in the extended family pedigrees used in modern genetic studies, and much work has been invested in finding better ways to visualize these kinds of pedigrees.
In the Madeline 2.0 pedigree drawing engine, we have tried to create a much more robust pedigree drawing engine to address the limitations of the older program and to provide the worldwide research community with a better tool for pedgiree visualization.
Find Out More
Click on the following resources to find out more about Madeline 2.0:
Fun Facts About Madeline 2.0 from Ohloh
Using Madeline 2.0 on the Web
Please note that this is currently an experimental service. By using this service, you agree to use at your own risk as there is no warranty of performance or protection against data loss.
Getting Madeline 2.0
Checking out code from the Subversion Repository
We recommend that you check out Madeline 2.0 from our Sourceforge project Subversion repository using a command such as the following:
svn co https://madeline2.svn.sourceforge.net/svnroot/madeline2 madeline2
Checking out the code from the Subversion repository guarantees that you will be getting the latest code and access to the most recent features and bug fixes.
Downloading Stable Releases
At the current time Madeline 2.0 is under rapid development. We therefore recommend you check out the latest code from our Subversion repository.
For more information, contact the developers: