Schematex

Pedigree

Multi-generation genetic inheritance charts for clinical genetics. Affected/carrier/presymptomatic status fills, proband arrow markers, consanguinity. Standardized human pedigree nomenclature.

pedigree·§ ISCN / Bennett
↘ preview
100%
BRCA1 Family — Hereditary Breast/Ovarian Cancer Pedigree chart with 7 individuals across 3 generations I II III I-1 I-2 (affected) II-4 II-1 (affected) II-3 (carrier) III-1 (affected) P III-3 (presymptomatic) I-1 I-2 II-4 II-1 II-3 III-1 III-3
UTF-8 · LF · 9 lines · 277 chars✓ parsed·5.3 ms·8.0 KB SVG

Genetics pedigree chart standard — tracking the inheritance pattern of a specific trait or disease within a family.

References:

  • Bennett, R.L. et al. (1995). Recommendations for standardized human pedigree nomenclature. Am J Hum Genet, 56(3), 745-752.
  • Bennett, R.L. et al. (2008). Standardized human pedigree nomenclature: Update and assessment. J Genet Couns, 17(5), 424-433.
  • Bennett, R.L. (2022). The evolving pedigree: Updating to reflect modern family structures, sex, and gender. J Genet Couns, 31(6), 1267-1275. ← Latest standard
  • NSGC (National Society of Genetic Counselors) pedigree standardization committee

1. Key Differences from Genogram

AspectGenogramPedigree Chart
Primary useFamily relationships + medical + psychological + social work assessmentPure genetic tracking (single or few traits)
Condition representationMultiple condition fill patterns (22 categories)Only affected/carrier/unaffected (1–3 traits)
Relationship qualityYes (34 types of emotional relationships)No (mated/not mated only)
Generation labelsNoneRoman numerals (I, II, III...)
Individual labelsName + birth yearGeneration-number (II-3) + optional name
ProbandNone (has Index Person)Yes (arrow pointing to index case, P marker)
ConsultandNoneYes (arrow + C marker)
ConsanguinityOptional annotationCritical information (double line, must be shown)
Sex vs GenderTraditional binaryBennett 2022: sex ≠ gender; diamond for unknown/DSD
Relationship representationDetailed (divorce, separation, cohabitation)Simplified (mated line, no longer together, consanguinity)

2. Individual Symbols

2.1 Core Shapes (Bennett 2022 Updated)

SymbolShapeMeaningDSL
SquareAMAB (Assigned Male at Birth)[male] or [amab]
CircleAFAB (Assigned Female at Birth)[female] or [afab]
DiamondUAAB (Unknown/Ambiguous at Birth) / DSD / Non-disclosed[unknown] or [uaab]

Important Bennett 2022 updates:

  • Square/Circle now formally represent assigned sex at birth, not gender identity
  • Diamond is used for: sex unknown, differences of sex development (DSD/intersex), non-disclosed, or still in utero (sex unknown)
  • If gender identity differs from assigned sex, annotate with a label (do not change the shape)
  • Example: transgender woman (AMAB) → square shape + "TW" label or gender annotation

2.2 Affected Status

StatusFill PatternSVGDSL
UnaffectedEmpty (white fill)fill: white(default)
Affected (single trait)Full fill (black/dark)fill: #333[affected]
Carrier (autosomal)Half-filled (left half, vertical divide)<clipPath> left half[carrier]
Carrier (X-linked female)Dot in centerSmall <circle> inside[carrier-x]
Obligate carrierDot in centerSmall filled <circle> inside[obligate-carrier]
Asymptomatic/presymptomaticVertical line through shape<line> through center[presymptomatic]
Multiple traitsQuadrant fill (like genogram)See below[affected: trait1 + trait2]

Multi-trait pedigree (up to 4 traits):

# Legend defines what each quadrant means
pedigree "Breast/Ovarian Cancer Family"
  legend: trait1 = "Breast cancer" (fill: quad-tl)
  legend: trait2 = "Ovarian cancer" (fill: quad-tr)
  legend: trait3 = "Prostate cancer" (fill: quad-bl)

  I-1 [male, affected: trait3]         # bottom-left quadrant filled
  I-2 [female, affected: trait1]       # top-left quadrant filled
  II-3 [female, affected: trait1+trait2]  # top-left + top-right filled

2.3 Life Status Symbols

StatusVisualSVGDSL
AliveNormal shapeDefault rendering(default)
DeceasedDiagonal slash through shape (/)Single <line> top-right to bottom-left[deceased]
Stillborn (SB)Small shape + SB text60% scale + label "SB"[stillborn]
Pregnancy (P)Diamond (sex unknown) or shape with Pshape + "P" label[pregnancy]
Spontaneous abortion (SAB)Small triangle<polygon> 15×15[sab]
Induced abortion (TAB)Small triangle with horizontal line<polygon> + <line>[tab]
Ectopic pregnancy (ECT)Small triangle + ECT label<polygon> + text[ectopic]
Affected SABFilled small triangle<polygon> filled[sab, affected]

Bennett 2022 Note:

  • The deceased marker was updated from the traditional "X through shape" to "diagonal slash (/)", which differs from the X marker used in genograms
  • This is an important visual distinction between pedigrees and genograms

2.4 Special Markers

MarkerSymbolPositionDSL
ProbandArrow (↗) pointing to shape + "P"Lower-left[proband]
ConsultandArrow (↗) pointing to shape + "C"Lower-left[consultand]
Evaluated"E" above or inside shapeAbove[evaluated]
No offspring by choiceCrossed out drop lineBelow couple line[no-children]
InfertilityCrossed out drop line + "∞"Below couple line[infertile]
Adopted inBrackets around shape[ shape ][adopted-in]
Adopted outBrackets around shape, dashed line to parents[ shape ] + dashed line[adopted-out]

2.5 Assisted Reproduction (Bennett 2022)

Bennett 2022 added standard symbols for assisted reproduction, which are increasingly important in modern clinical practice:

TypeSymbolDSL
Donor egg"D" on connecting line from egg donor[donor-egg]
Donor sperm"D" on connecting line from sperm donor[donor-sperm]
Donor embryo"D" on connecting lines from both donors[donor-embryo]
Surrogacy (gestational)"S" label on surrogate, dashed line to child[surrogate]
IVF"IVF" label on couple lineannotated on couple line

3. Relationship Lines (Pedigree-Specific)

Pedigree relationship lines are much simpler than those in genograms — there are no emotional relationships, only structurally relevant genetic lines.

3.1 Partnership Lines

TypeLine StyleDSLMeaning
Mated (together)Single horizontal solid lineA -- BPartners with offspring
Mated (no longer together)Single line + single slashA -/- BSeparated (divorce/separation not distinguished)
ConsanguinityDouble horizontal lineA == BConsanguineous union (genetically critical!)
Relationship line (no offspring)Single horizontal dashedA ~ BPartners with no offspring

3.2 Parent-Child Lines

TypeLineDSL
BiologicalSolid vertical(default)
Adopted inDashed vertical + brackets on child[adopted-in]
Adopted outDashed vertical + brackets, line goes to new parents[adopted-out]
Identical twinsV-shape (meet at single point)[twin-mz] (monozygotic)
Fraternal twinsInverted-V with horizontal bar[twin-dz] (dizygotic)
Twins (unknown zygosity)Inverted-V, question mark on bar[twin-unknown]
Triplets+3+ lines from point/bar[triplet-mz] etc.

4. Generation and Individual Labeling

4.1 Generation Labels

  • Roman numerals (I, II, III, IV...) are displayed on the left side
  • I = the oldest generation
  • Aligned to the center Y-coordinate of that generation
  • Font: bold, 14px, class="schematex-generation-label"

4.2 Individual Labels

  • Numbered left to right within each generation: 1, 2, 3...
  • Full identifier: II-3 = the 3rd individual in the second generation
  • Displayed below the shape
  • Proband and consultand have an additional arrow marker

4.3 Legend (Required for Multi-Trait Pedigrees)

  • Pedigree diagrams must include a legend explaining the fill pattern meanings
  • The legend is typically placed in the bottom-right corner or at the bottom of the chart
  • Legend content: the fill pattern + color corresponding to each trait

5. Layout Rules

Shares most layout logic with genogram (generation alignment, male-left, children ordering), with the following differences:

5.1 Pedigree-Specific Layout

  1. Generation label column: Reserve a 40px column on the left for Roman numerals
  2. Individual numbering: Display "II-3" format identifiers below each shape
  3. No emotional lines: Emotional relationship routing is not needed
  4. Consanguinity emphasis: Double lines must be clearly visible, as this is critical genetic information
  5. Proband arrow: Points at 45° from lower-left to the proband shape, length 20px
  6. Legend box: Bottom-right or bottom of diagram, containing trait descriptions

5.2 Spacing (Pedigree-Specific Adjustments)

ParameterDefaultDifference from Genogram
Left margin (for gen labels)50pxGenogram has no such requirement
Node width40pxSame
Node height40pxSame
Generation spacing100pxSlightly less than genogram (120px), because there are no emotional lines
Sibling spacing50pxSlightly less than genogram (60px)
Legend box width150pxGenogram has no such requirement
Legend box heightauto (based on traits)

6. DSL Grammar (Pedigree — Expanded)

document       = header legend_def* statement*
header         = "pedigree" quoted_string? NEWLINE

legend_def     = "legend:" IDENTIFIER "=" quoted_string legend_fill? NEWLINE
legend_fill    = "(" "fill:" FILL_SPEC ")"
FILL_SPEC      = "full" | "quad-tl" | "quad-tr" | "quad-bl" | "quad-br"
               | "half-left" | "half-right" | "striped" | "dotted"

statement      = comment | individual_def | couple_def

individual_def = ID properties? NEWLINE
properties     = "[" property ("," property)* "]"
property       = sex_prop | status_prop | genetic_prop | special_prop | kv_prop

sex_prop       = "male" | "female" | "unknown" | "amab" | "afab" | "uaab"
status_prop    = "deceased" | "stillborn" | "pregnancy"
               | "sab" | "tab" | "ectopic"
genetic_prop   = "affected" | "carrier" | "carrier-x" | "obligate-carrier"
               | "presymptomatic" | "unaffected"
               | "affected:" trait_list
trait_list     = IDENTIFIER ("+" IDENTIFIER)*
special_prop   = "proband" | "consultand" | "evaluated"
               | "adopted-in" | "adopted-out"
               | "donor-egg" | "donor-sperm" | "donor-embryo" | "surrogate"
               | "no-children" | "infertile"
               | "twin-mz" | "twin-dz" | "twin-unknown"
               | "triplet-mz" | "triplet-dz"

couple_def     = ID couple_op ID couple_label? NEWLINE (INDENT child+ DEDENT)?
couple_op      = "--" | "==" | "-/-" | "~"
couple_label   = "[" kv_prop "]"
child          = individual_def

comment        = "#" [^\n]* NEWLINE

ID             = /[a-zA-Z][a-zA-Z0-9_-]*/
IDENTIFIER     = /[a-zA-Z][a-zA-Z0-9_-]*/
VALUE          = /[^\],\n]+/
quoted_string  = '"' /[^"]*/ '"'
INDENT         = increase in leading whitespace (2+ spaces)
DEDENT         = decrease in leading whitespace
NEWLINE        = /\n/

7. Test Cases

Case 1: Autosomal Recessive (Cystic Fibrosis)

pedigree "Cystic Fibrosis Family"
  I-1 [male, carrier]
  I-2 [female, carrier]
  I-1 -- I-2
    II-1 [male, unaffected]
    II-2 [female, carrier]
    II-3 [male, affected, proband]
    II-4 [female, unaffected]

Verify: I-1/I-2 are half-filled (carrier), II-3 is full-filled + proband arrow, "I" and "II" labels appear on the left.

Case 2: Consanguinity

pedigree "Consanguineous Marriage"
  I-1 [male, carrier]
  I-2 [female, unaffected]
  I-1 -- I-2
    II-1 [male, carrier]
    II-2 [female, unaffected]
  I-3 [male, unaffected]
  I-4 [female, carrier]
  I-3 -- I-4
    II-3 [female, carrier]
  II-1 == II-3
    III-1 [male, affected, proband]

Verify: The line between II-1 and II-3 is double (consanguinity), III-1 is full-filled + proband arrow.

Case 3: X-Linked Recessive (Hemophilia)

pedigree "Hemophilia A"
  I-1 [male, unaffected]
  I-2 [female, carrier-x]
  I-1 -- I-2
    II-1 [male, affected]
    II-2 [female, carrier-x]
    II-3 [male, unaffected]
    II-4 [female, unaffected]
  II-2 -- II-5 [male, unaffected]
    III-1 [male, affected]
    III-2 [female, carrier-x]
    III-3 [male, unaffected]

Verify: carrier-x females have a center dot, affected males are full-filled.

Case 4: Multi-Trait Pedigree

pedigree "Cancer Family Syndrome"
  legend: breast = "Breast cancer" (fill: quad-tl)
  legend: ovarian = "Ovarian cancer" (fill: quad-tr)
  legend: prostate = "Prostate cancer" (fill: quad-bl)
  legend: colon = "Colon cancer" (fill: quad-br)

  I-1 [male, affected: prostate, deceased]
  I-2 [female, affected: breast, deceased]
  I-1 -- I-2
    II-1 [female, affected: breast+ovarian]
    II-2 [male, unaffected]
    II-3 [female, unaffected, evaluated]
  II-1 -- II-4 [male, unaffected]
    III-1 [female, unaffected, proband]
    III-2 [male, unaffected]

Verify: legend box shows the 4 trait quadrant fills, I-1 has quad-bl filled, II-1 has quad-tl + quad-tr filled, III-1 has proband arrow.

Case 5: Modern Family (Bennett 2022 — Assisted Reproduction)

pedigree "Donor Conception"
  I-1 [male]
  I-2 [female]
  I-1 -- I-2
    II-1 [female]
  
  donor [male, donor-sperm]
  II-1 -- II-2 [male]
    III-1 [female, proband]

Verify: donor-sperm annotation appears on the connecting line from donor to child, donor node display is optional.

Case 6: Pregnancy / Loss

pedigree "Reproductive History"
  I-1 [male]
  I-2 [female]
  I-1 -- I-2
    II-1 [male]
    II-2 [female, sab]
    II-3 [male, stillborn]
    II-4 [female, pregnancy]
    II-5 [female]

Verify: II-2 is a small triangle (SAB), II-3 is a small shape + SB label + deceased slash, II-4 is a diamond/shape with "P".

Case 7: Large Pedigree (5 Generations)

pedigree "Huntington Disease"
  I-1 [male, affected, deceased]
  I-2 [female, deceased]
  I-1 -- I-2
    II-1 [male, affected, deceased]
    II-2 [female, unaffected]
    II-3 [male, unaffected, deceased]
  II-1 -- II-4 [female, unaffected]
    III-1 [female, affected]
    III-2 [male, presymptomatic]
    III-3 [female, unaffected]
  III-1 -- III-4 [male, unaffected]
    IV-1 [male, presymptomatic, proband]
    IV-2 [female, unaffected]
  III-3 -- III-5 [male, unaffected]
    IV-3 [male, unaffected]
    IV-4 [female, unaffected]
  IV-1 -- IV-5 [female, unaffected]
    V-1 [unknown, pregnancy]

Verify: 5-generation Roman numeral labels (I–V), presymptomatic individuals have a vertical line marker, V-1 is a pregnancy diamond.


8. Implementation Priority

PriorityFeatureComplexity
P0 (Phase 2.1)Basic pedigree layout reusing genogram engine + Roman numeral labels + individual numberingMedium
P0Affected/carrier/unaffected fill + proband arrowLow
P1Consanguinity double line (already in genogram, but critical for pedigree)Low
P1Deceased slash (/ not X), SAB/TAB/stillborn symbolsMedium
P1Legend box renderingMedium
P2Multi-trait quadrant fill systemMedium
P2X-linked carrier dotLow
P2Bennett 2022 sex/gender annotationLow
P2Assisted reproduction symbols (donor, surrogate)Medium
P3Presymptomatic vertical line markerLow
P3Adopted in/out bracket notationLow