Schematex

Pedigree

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

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

遗传学 pedigree chart 标准——追踪特定性状/疾病在家族中的遗传模式。

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. ← 最新标准
  • NSGC (National Society of Genetic Counselors) pedigree standardization committee

1. Key Differences from Genogram

方面GenogramPedigree Chart
主要用途家庭关系 + 医疗 + 心理 + 社工评估纯遗传追踪(单一或少量 trait)
Condition 表示多条件 fill patterns (22 categories)只有 affected/carrier/unaffected (1-3 traits)
关系质量有(emotional relationships 34 types)无(只有 mated/not mated)
代标记Roman numeral (I, II, III...)
个体标记名字 + birth yearGeneration-number (II-3) + optional name
Proband无(有 Index Person)有(箭头指向 index case,P 标记)
Consultand有(箭头 + C 标记)
Consanguinity可选标注关键信息(双线,必须标注)
Sex vs Gender传统 binaryBennett 2022: sex ≠ gender,diamond for unknown/DSD
关系表示详细(divorce, separation, cohabitation)简化(mated line, no longer together, consanguinity)

2. Individual Symbols

2.1 Core Shapes (Bennett 2022 Updated)

SymbolShape含义DSL
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]

Bennett 2022 重要更新:

  • Square/Circle 现在正式代表 assigned sex at birth,不是 gender identity
  • Diamond 用于:sex unknown, differences of sex development (DSD/intersex), non-disclosed, or still in utero (sex unknown)
  • Gender identity 如果与 assigned sex 不同,用 label 标注(不改变 shape)
  • 例: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]

多 trait pedigree(最多 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 注意:

  • Deceased 标记从传统的 "X through shape" 更新为 "diagonal slash (/)",与 genogram 的 X 标记不同
  • 这是 pedigree 与 genogram 的重要视觉区别

2.4 Special Markers

MarkerSymbol位置DSL
ProbandArrow (↗) pointing to shape + "P"左下方[proband]
ConsultandArrow (↗) pointing to shape + "C"左下方[consultand]
Evaluated"E" above or inside shape上方[evaluated]
No offspring by choiceCrossed out drop lineCouple line 下方[no-children]
InfertilityCrossed out drop line + "∞"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 增加了辅助生殖的标准符号,这在现代临床中越来越重要:

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 linecouple line 标注

3. Relationship Lines (Pedigree-Specific)

Pedigree 的关系线比 genogram 简单得多——没有 emotional relationships,只有遗传学相关的结构线。

3.1 Partnership Lines

TypeLine StyleDSL含义
Mated (together)Single horizontal solid lineA -- B有后代的配偶
Mated (no longer together)Single line + single slashA -/- B分开(不区分 divorce/separation)
ConsanguinityDouble horizontal lineA == B近亲婚配(遗传学关键!)
Relationship line (no offspring)Single horizontal dashedA ~ B配偶但无后代

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 numeral(I, II, III, IV...)
  • I = 最年长的一代
  • 对齐到该代的中心 Y 坐标
  • Font: bold, 14px, class="schematex-generation-label"

4.2 Individual Labels

  • 每代内从左到右编号:1, 2, 3...
  • 完整标识:II-3 = 第二代第 3 个人
  • 显示在 shape 下方
  • Proband 和 consultand 额外有箭头标记

4.3 Legend (Required for Multi-Trait Pedigrees)

  • Pedigree 图必须包含 legend,解释 fill pattern 的含义
  • Legend 通常放在右下角或图表底部
  • Legend 内容:每个 trait 对应的 fill pattern + color

5. Layout Rules

与 genogram 共享大部分布局逻辑(generation alignment, male-left, children ordering),区别:

5.1 Pedigree-Specific Layout

  1. Generation label 列: 左侧留出 40px 列宽显示 Roman numeral
  2. Individual numbering: Shape 下方显示 "II-3" 格式的标识
  3. No emotional lines: 不需要 emotional relationship routing
  4. Consanguinity emphasis: 双线要明显可见,因为这是遗传学的关键信息
  5. Proband arrow: 从左下 45° 指向 proband shape,长度 20px
  6. Legend box: 右下角或底部,包含 trait 说明

5.2 Spacing (Pedigree-Specific Adjustments)

ParameterDefault与 Genogram 差异
Left margin (for gen labels)50pxGenogram 无此需求
Node width40px
Node height40px
Generation spacing100px略小于 genogram (120px),因为无 emotional lines
Sibling spacing50px略小于 genogram (60px)
Legend box width150pxGenogram 无此需求
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]

验证:I-1/I-2 half-filled (carrier),II-3 full-filled + proband arrow,左侧有 "I" "II" 标记。

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]

验证:II-1 和 II-3 之间是双线(consanguinity),III-1 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]

验证:carrier-x females 有 center dot,affected males 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]

验证:legend box 显示 4 个 trait 对应的 quadrant fill,I-1 有 quad-bl filled,II-1 有 quad-tl + quad-tr filled,III-1 有 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]

验证:donor-sperm 标注在 donor 到 child 的连接线上,donor node 可选显示。

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]

验证:II-2 是小三角 (SAB),II-3 是小 shape + SB label + deceased slash,II-4 是 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]

验证:5 代 Roman numeral 标记(I-V),presymptomatic 有 vertical line 标记,V-1 是 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