. Criteria for multi-factorial inheritance.

Reading File
Finding Sources
Finding Sources
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Loading Image
I now have comprehensive textbook content. Here is the full, well-structured answer:

Criteria for Multi-factorial (Polygenic/Complex) Inheritance

Multi-factorial inheritance refers to traits and diseases caused by the combined action of multiple genes at different loci plus environmental factors. Neither follows a clear Mendelian pattern nor a single-gene mechanism. The key criteria for recognising it are outlined below.

1. Familial Aggregation Without Mendelian Ratios

The condition clusters in families at a frequency higher than the general population but does not fit the expected ratios of autosomal dominant (1:2), autosomal recessive (1:4), or X-linked inheritance. There is no predictable single-gene pedigree pattern.
  • Genetic susceptibility is suggested by a higher frequency of the disease in relatives than in the general population.
  • Familial aggregation alone does not prove a genetic basis because families also share environments.
Emery's Elements of Medical Genetics and Genomics

2. Risk to First-Degree Relatives Approximates √(Population Incidence)

A key quantitative criterion: the recurrence risk for first-degree relatives (siblings, parents, offspring) approximates the square root of the general population incidence.
  • Example: if population incidence = 1 in 1,000 (0.1%), the sibling risk ≈ 1 in 32 (~3%).
  • This contrasts sharply with Mendelian disorders where risks are fixed fractions (25%, 50%).
Emery's Elements of Medical Genetics and Genomics, p. 151

3. Risk Decreases Rapidly with Degree of Relatedness

Risk falls off sharply as genetic relationship becomes more distant:
  • First-degree relatives: highest risk
  • Second-degree relatives: intermediate
  • Third-degree relatives: close to population baseline
Example from spina bifida: risks to 1st, 2nd, and 3rd-degree relatives are ~4%, ~1%, and <0.5%, respectively.
This rapid fall-off (unlike Mendelian disorders) is a hallmark of polygenic inheritance.

4. Twin Concordance: MZ > DZ, but MZ Not 100%

  • Monozygotic (MZ) twins have higher concordance than dizygotic (DZ) twins because they share identical genotypes.
  • MZ concordance is not 100%, indicating that environmental factors also play a role.
  • If a disease were purely genetic, MZ concordance would be 100%; if purely environmental, MZ and DZ concordance would be equal.
Example: Type 1 diabetes - MZ concordance ~50%, DZ concordance ~12%.

5. Severity of the Proband Affects Recurrence Risk

The more severely affected the index case, the higher the recurrence risk for relatives. This is because a severely affected proband lies at the extreme of the liability distribution, meaning their relatives are also more likely to carry a high genetic burden.
Example: Cleft lip/palate
  • Bilateral cleft lip + palate proband → 6% risk in first-degree relatives
  • Unilateral cleft lip only proband → 2% risk in first-degree relatives

6. Risk Increases with Number of Affected Relatives

If more than one close relative is affected, the recurrence risk for other relatives increases further, reflecting a higher shared genetic load.
Example: Spina bifida
  • One sibling affected → ~4% risk for next sibling
  • Two siblings affected → ~10% risk for next sibling

7. Sex Differences Affect Risk (Carter Effect)

When a condition shows a sex difference in incidence, relatives of the less frequently affected sex carry a higher risk, because that individual had to overcome a higher threshold of liability to be affected, implying a greater genetic burden.
Classic example: Pyloric stenosis (M:F = 5:1)
  • Sons of an affected mother (less common sex): 19.4% risk
  • Sons of an affected father (more common sex): 5.5% risk
This phenomenon is known as the Carter effect.

The Liability/Threshold Model (Sewall Wright, 1934)

All multi-factorial disorders are explained by the liability/threshold model:
  • Every individual has a liability - a continuous, normally distributed variable representing all genetic and environmental factors predisposing to the disease.
  • When liability crosses a threshold, the disease manifests.
  • Relatives of affected individuals have their liability curve shifted to the right (increased familial incidence), with the degree of shift proportional to closeness of relationship.
Liability/threshold model showing population vs familial incidence curves
Fig. 10.5 - Hypothetical liability curves in the general population (top) and relatives (bottom). The familial curve is shifted right, producing a larger area beyond the threshold (familial incidence).

Summary Table

CriterionKey Feature
Family clusteringHigher than population, no Mendelian ratios
Sibling/offspring risk≈ √(population incidence)
Gradient with relatednessRisk falls sharply from 1st to 3rd degree
Twin concordanceMZ > DZ, but MZ < 100%
Severity of probandMore severe = higher family risk
Number of affected relativesMore affected = higher risk for others
Sex of proband (Carter effect)Less common sex affected = higher family risk

Examples of Multi-factorial Disorders

Congenital malformations: cleft lip/palate, neural tube defects (spina bifida), congenital heart defects, pyloric stenosis, congenital dislocation of the hip, talipes
Adult-onset diseases: type 1 and 2 diabetes mellitus, hypertension, ischaemic heart disease, schizophrenia, rheumatoid arthritis, asthma, Crohn disease, multiple sclerosis, bipolar disorder
Sources: Emery's Elements of Medical Genetics and Genomics (pp. 147-155); Shambaugh Surgery of the Ear

Make in a document form

Reading File
Running Command

ls -la /tmp/workspace/ 2>/dev/null || mkdir -p /tmp/workspace && echo "created"

Running Command

mkdir -p /tmp/workspace/multifactorial-inheritance && python3 << 'EOF' from docx import Document from docx.shared import Pt, Inches, RGBColor from docx.enum.text import WD_ALIGN_PARAGRAPH from docx.oxml.ns import qn from docx.oxml import OxmlElement import urllib.request # --- Download the liability/threshold image --- img_url = "https://cdn.orris.care/cdss_images/c64af7bc0d1981cd4698bb32afc310b79c680585f39a56c37970d870b14ab1e6.png" img_path = "/tmp/workspace/multifactorial-inheritance/liability_threshold.png" urllib.request.urlretrieve(img_url, img_path) print("Image downloaded:", img_path) doc = Document() # ── Page margins ────────────────────────────────────────────────────────────── section = doc.sections[0] section.top_margin = Inches(1) section.bottom_margin = Inches(1) section.left_margin = Inches(1.2) section.right_margin = Inches(1.2) # ── Default Normal style ────────────────────────────────────────────────────── normal = doc.styles["Normal"] normal.font.name = "Calibri" normal.font.size = Pt(11) # ── Helper: set heading colours ─────────────────────────────────────────────── DARK_BLUE = RGBColor(0x1F, 0x3864, 0x96) # deep navy MED_BLUE = RGBColor(0x2E, 0x74, 0xB5) # medium blue def style_heading(para, colour, size, bold=True): for run in para.runs: run.font.color.rgb = colour run.font.size = Pt(size) run.font.bold = bold run.font.name = "Calibri" def add_horizontal_rule(doc): """Insert a thin horizontal line.""" p = doc.add_paragraph() p.paragraph_format.space_before = Pt(2) p.paragraph_format.space_after = Pt(2) pPr = p._p.get_or_add_pPr() pBdr = OxmlElement("w:pBdr") bottom = OxmlElement("w:bottom") bottom.set(qn("w:val"), "single") bottom.set(qn("w:sz"), "6") bottom.set(qn("w:space"), "1") bottom.set(qn("w:color"), "2E74B5") pBdr.append(bottom) pPr.append(pBdr) # ═════════════════════════════════════════════════════════════════════════════ # TITLE BLOCK # ═════════════════════════════════════════════════════════════════════════════ title = doc.add_heading("Criteria for Multi-factorial Inheritance", level=1) title.alignment = WD_ALIGN_PARAGRAPH.CENTER style_heading(title, DARK_BLUE, 18) subtitle = doc.add_paragraph("Medical Genetics | Polygenic / Complex Inheritance") subtitle.alignment = WD_ALIGN_PARAGRAPH.CENTER subtitle.runs[0].font.color.rgb = MED_BLUE subtitle.runs[0].font.size = Pt(11) subtitle.runs[0].font.italic = True add_horizontal_rule(doc) doc.add_paragraph("") # ═════════════════════════════════════════════════════════════════════════════ # INTRODUCTION # ═════════════════════════════════════════════════════════════════════════════ intro_h = doc.add_heading("Introduction", level=2) style_heading(intro_h, MED_BLUE, 13) intro = doc.add_paragraph( "Multi-factorial inheritance refers to traits and diseases caused by the combined action of " "multiple genes at different loci together with environmental factors. The phenotype does not " "follow a clear Mendelian pattern, and no single gene is the primary determinant. Instead, " "each contributing gene variant exerts a small, generally additive effect. The result is a " "spectrum ranging from disorders that are predominantly genetic (e.g., ankylosing spondylitis) " "to those where environment dominates - with most common human diseases (diabetes mellitus, " "hypertension, schizophrenia, congenital heart defects) sitting somewhere in between." ) intro.paragraph_format.space_after = Pt(8) doc.add_paragraph("") # ═════════════════════════════════════════════════════════════════════════════ # CRITERIA (numbered sections) # ═════════════════════════════════════════════════════════════════════════════ criteria = [ { "num": "1", "title": "Familial Aggregation Without Mendelian Ratios", "body": ( "The condition clusters in families at a frequency higher than in the general population, " "but does not conform to expected Mendelian ratios (1:2 for autosomal dominant; 1:4 for " "autosomal recessive; or X-linked patterns). No predictable single-gene pedigree pattern " "is observed.\n\n" "Familial aggregation alone does not prove a genetic basis because families share " "environments. However, when combined with the other criteria below, it forms a key " "indicator of multi-factorial causation." ), }, { "num": "2", "title": "Recurrence Risk \u2248 Square Root of Population Incidence", "body": ( "A cardinal quantitative criterion: the recurrence risk for first-degree relatives " "(siblings, parents, offspring) approximates the square root of the general population " "incidence.\n\n" "Example: If population incidence = 1 in 1,000 (0.1%), then sibling risk \u2248 1 in 32 (~3%).\n\n" "This contrasts sharply with Mendelian disorders where first-degree relative risks are " "fixed fractions (25% or 50%). The square-root relationship is a mathematical consequence " "of the polygenic liability model." ), }, { "num": "3", "title": "Risk Decreases Rapidly with Degree of Relatedness", "body": ( "Risk falls off sharply as the genetic relationship becomes more distant - far more " "steeply than in single-gene disorders. This rapid gradient is a hallmark of polygenic " "inheritance.\n\n" "Example (Spina bifida):\n" " \u2022 First-degree relatives: ~4%\n" " \u2022 Second-degree relatives: ~1%\n" " \u2022 Third-degree relatives: <0.5%\n\n" "The sib-risk to population-incidence ratio (\u03bbs) quantifies familial clustering. " "For type 1 diabetes: population incidence 0.4%, sibling risk 6%, so \u03bbs = 15." ), }, { "num": "4", "title": "Twin Concordance: MZ > DZ, but MZ < 100%", "body": ( "Monozygotic (MZ) twins show higher concordance than dizygotic (DZ) twins because they " "share identical genotypes. However, MZ concordance is not 100%, which confirms that " "environmental factors also contribute.\n\n" "Interpretation:\n" " \u2022 MZ concordance = DZ concordance \u2192 purely environmental\n" " \u2022 MZ concordance = 100% \u2192 purely genetic\n" " \u2022 MZ > DZ but MZ < 100% \u2192 multi-factorial\n\n" "Example (Type 1 Diabetes Mellitus): MZ concordance ~50%; DZ concordance ~12%.\n\n" "Heritability (h\u00b2) - the proportion of trait variance attributable to genetic variation - " "is calculated from MZ vs DZ concordance differences. Examples: schizophrenia h\u00b2 = 0.7-0.8; " "ankylosing spondylitis h\u00b2 > 0.90; height h\u00b2 = 0.8." ), }, { "num": "5", "title": "Severity of the Proband Affects Recurrence Risk", "body": ( "The more severely affected the index case (proband), the higher the recurrence risk " "for relatives. A severely affected proband sits at the extreme end of the liability " "distribution, meaning their relatives are also more likely to carry a high genetic burden.\n\n" "Example (Cleft lip / palate):\n" " \u2022 Proband with bilateral cleft lip + palate \u2192 6% risk in first-degree relatives\n" " \u2022 Proband with unilateral cleft lip only \u2192 2% risk in first-degree relatives" ), }, { "num": "6", "title": "Risk Increases with Number of Affected Relatives", "body": ( "When more than one close relative is already affected, the recurrence risk for further " "relatives increases, reflecting a higher accumulated genetic load in the family.\n\n" "Example (Spina bifida):\n" " \u2022 One sibling affected \u2192 ~4% risk for next sibling\n" " \u2022 Two siblings affected \u2192 ~10% risk for next sibling" ), }, { "num": "7", "title": "Sex Differences Affect Risk - The Carter Effect", "body": ( "When a condition is more common in one sex, relatives of the less frequently affected " "sex carry a higher recurrence risk. This is because the less commonly affected individual " "must lie at the extreme of the liability curve to be affected, implying an unusually high " "genetic load - which is then shared with their relatives.\n\n" "Classic example - Pyloric Stenosis (M:F = 5:1):\n" " \u2022 Sons of an affected MOTHER (less common sex): 19.4%\n" " \u2022 Daughters of an affected MOTHER: 7.3%\n" " \u2022 Sons of an affected FATHER (more common sex): 5.5%\n" " \u2022 Daughters of an affected FATHER: 2.4%\n\n" "This phenomenon is known as the Carter Effect." ), }, ] for c in criteria: # Section heading with number h = doc.add_heading(f"{c['num']}. {c['title']}", level=2) style_heading(h, MED_BLUE, 12) # Body text - handle bullet lines specially lines = c["body"].split("\n") for line in lines: if line.startswith(" \u2022"): p = doc.add_paragraph(style="List Bullet") p.text = line.strip()[2:].strip() p.paragraph_format.left_indent = Inches(0.3) p.runs[0].font.size = Pt(11) elif line.strip() == "": p = doc.add_paragraph("") p.paragraph_format.space_after = Pt(2) else: p = doc.add_paragraph(line.strip()) p.paragraph_format.space_after = Pt(4) doc.add_paragraph("") # ═════════════════════════════════════════════════════════════════════════════ # LIABILITY / THRESHOLD MODEL # ═════════════════════════════════════════════════════════════════════════════ add_horizontal_rule(doc) doc.add_paragraph("") lt_h = doc.add_heading("The Liability / Threshold Model (Sewall Wright, 1934)", level=2) style_heading(lt_h, DARK_BLUE, 13) lt_text = doc.add_paragraph( "All multi-factorial disorders are explained by the liability/threshold model:\n\n" "Every individual carries a liability - a continuous, normally distributed variable representing " "all genetic and environmental factors predisposing them to the disease. When liability crosses " "a threshold, the disease manifests (discontinuous phenotype from a continuous underlying " "distribution).\n\n" "The liability curves of relatives are shifted to the right relative to the general population, " "with the extent of the shift proportional to closeness of relationship. The area beyond the " "threshold in the relatives' curve equals the familial incidence of the disease.\n\n" "This model has been validated by genome-wide association studies (GWAS) for conditions " "including schizophrenia, type 2 diabetes mellitus, rheumatoid arthritis, and Crohn disease." ) lt_text.paragraph_format.space_after = Pt(8) # Insert image doc.add_picture(img_path, width=Inches(4.5)) img_para = doc.paragraphs[-1] img_para.alignment = WD_ALIGN_PARAGRAPH.CENTER caption = doc.add_paragraph( "Fig. 1 Liability/threshold model. The familial incidence curve (bottom) is shifted to the right " "relative to the general population (top), producing a larger area beyond the threshold." ) caption.alignment = WD_ALIGN_PARAGRAPH.CENTER caption.runs[0].font.italic = True caption.runs[0].font.size = Pt(10) caption.runs[0].font.color.rgb = RGBColor(0x40, 0x40, 0x40) doc.add_paragraph("") # ═════════════════════════════════════════════════════════════════════════════ # SUMMARY TABLE # ═════════════════════════════════════════════════════════════════════════════ add_horizontal_rule(doc) doc.add_paragraph("") tbl_h = doc.add_heading("Summary of Criteria", level=2) style_heading(tbl_h, DARK_BLUE, 13) # Table headers = ["Criterion", "Key Feature"] rows = [ ["1. Family clustering", "Higher than population frequency; no Mendelian ratios"], ["2. Sibling / offspring risk", "\u2248 \u221a(population incidence)"], ["3. Gradient with relatedness", "Risk falls sharply from 1st to 3rd degree"], ["4. Twin concordance", "MZ > DZ, but MZ < 100%"], ["5. Severity of proband", "More severe \u2192 higher risk for relatives"], ["6. Number of affected relatives", "More affected \u2192 higher risk for others"], ["7. Sex of proband (Carter)", "Less common sex affected \u2192 higher family risk"], ] table = doc.add_table(rows=1 + len(rows), cols=2) table.style = "Table Grid" table.autofit = True # Header row hdr_cells = table.rows[0].cells for i, h_text in enumerate(headers): hdr_cells[i].text = h_text run = hdr_cells[i].paragraphs[0].runs[0] run.font.bold = True run.font.color.rgb = RGBColor(0xFF, 0xFF, 0xFF) run.font.size = Pt(11) # Background colour for header tc = hdr_cells[i]._tc tcPr = tc.get_or_add_tcPr() shd = OxmlElement("w:shd") shd.set(qn("w:val"), "clear") shd.set(qn("w:color"), "auto") shd.set(qn("w:fill"), "1F3864") tcPr.append(shd) # Data rows for ri, (col1, col2) in enumerate(rows): data_cells = table.rows[ri + 1].cells data_cells[0].text = col1 data_cells[1].text = col2 for cell in data_cells: cell.paragraphs[0].runs[0].font.size = Pt(10.5) # Alternating row shading if ri % 2 == 0: for cell in data_cells: tc = cell._tc tcPr = tc.get_or_add_tcPr() shd = OxmlElement("w:shd") shd.set(qn("w:val"), "clear") shd.set(qn("w:color"), "auto") shd.set(qn("w:fill"), "DCE6F1") tcPr.append(shd) doc.add_paragraph("") # ═════════════════════════════════════════════════════════════════════════════ # EXAMPLES # ═════════════════════════════════════════════════════════════════════════════ add_horizontal_rule(doc) doc.add_paragraph("") ex_h = doc.add_heading("Examples of Multi-factorial Disorders", level=2) style_heading(ex_h, DARK_BLUE, 13) ex_intro = doc.add_paragraph( "The following conditions are well-recognised examples of multi-factorial inheritance:" ) # Two columns via a 2-column table (borderless) ex_table = doc.add_table(rows=1, cols=2) ex_table.style = "Table Grid" # Remove borders from docx.oxml import OxmlElement as OE def remove_table_borders(tbl): tblPr = tbl._tbl.tblPr if tblPr is None: tblPr = OE("w:tblPr") tbl._tbl.insert(0, tblPr) tblBorders = OE("w:tblBorders") for side in ("top", "left", "bottom", "right", "insideH", "insideV"): el = OE(f"w:{side}") el.set(qn("w:val"), "none") tblBorders.append(el) tblPr.append(tblBorders) remove_table_borders(ex_table) congenital = [ "Cleft lip / palate", "Congenital dislocation of the hip", "Congenital heart defects", "Neural tube defects (spina bifida)", "Pyloric stenosis", "Talipes", ] adult = [ "Asthma", "Autism spectrum disorder", "Diabetes mellitus (T1DM & T2DM)", "Hypertension", "Ischaemic heart disease", "Schizophrenia / Bipolar disorder", "Rheumatoid arthritis", "Multiple sclerosis", "Inflammatory bowel disease", "Parkinson disease", ] cell0 = ex_table.rows[0].cells[0] cell0.paragraphs[0].clear() p0 = cell0.paragraphs[0] r0 = p0.add_run("Congenital Malformations") r0.font.bold = True r0.font.color.rgb = MED_BLUE r0.font.size = Pt(11) for item in congenital: p = cell0.add_paragraph(f"\u2022 {item}") p.paragraph_format.left_indent = Inches(0.1) p.runs[0].font.size = Pt(10.5) cell1 = ex_table.rows[0].cells[1] cell1.paragraphs[0].clear() p1 = cell1.paragraphs[0] r1 = p1.add_run("Adult-Onset Diseases") r1.font.bold = True r1.font.color.rgb = MED_BLUE r1.font.size = Pt(11) for item in adult: p = cell1.add_paragraph(f"\u2022 {item}") p.paragraph_format.left_indent = Inches(0.1) p.runs[0].font.size = Pt(10.5) doc.add_paragraph("") # ═════════════════════════════════════════════════════════════════════════════ # REFERENCES # ═════════════════════════════════════════════════════════════════════════════ add_horizontal_rule(doc) doc.add_paragraph("") ref_h = doc.add_heading("Sources", level=2) style_heading(ref_h, DARK_BLUE, 12) refs = [ "Emery's Elements of Medical Genetics and Genomics (pp. 147-155) - Chapter 10: Multifactorial Inheritance & Liability/Threshold Model.", "Shambaugh Surgery of the Ear - Chapter on Genetics of Hearing Loss (Multi-factorial Traits).", "The Developing Human: Clinically Oriented Embryology - Chapter on Birth Defects Caused by Multi-factorial Inheritance.", ] for ref in refs: p = doc.add_paragraph(f"\u2022 {ref}", style="Normal") p.paragraph_format.left_indent = Inches(0.3) p.runs[0].font.size = Pt(10) p.runs[0].font.italic = True # ═════════════════════════════════════════════════════════════════════════════ # SAVE # ═════════════════════════════════════════════════════════════════════════════ out_path = "/tmp/workspace/multifactorial-inheritance/Multifactorial_Inheritance_Criteria.docx" doc.save(out_path) print("Saved:", out_path) EOF

Running Command

python3 << 'EOF' from docx import Document from docx.shared import Pt, Inches, RGBColor from docx.enum.text import WD_ALIGN_PARAGRAPH from docx.oxml.ns import qn from docx.oxml import OxmlElement # Correct RGBColor usage - pass integers 0-255 DARK_BLUE = RGBColor(31, 56, 150) MED_BLUE = RGBColor(46, 116, 181) WHITE = RGBColor(255, 255, 255) GREY_TEXT = RGBColor(64, 64, 64) img_path = "/tmp/workspace/multifactorial-inheritance/liability_threshold.png" doc = Document() # Page margins section = doc.sections[0] section.top_margin = Inches(1) section.bottom_margin = Inches(1) section.left_margin = Inches(1.2) section.right_margin = Inches(1.2) # Default Normal style normal = doc.styles["Normal"] normal.font.name = "Calibri" normal.font.size = Pt(11) def style_heading(para, colour, size, bold=True): for run in para.runs: run.font.color.rgb = colour run.font.size = Pt(size) run.font.bold = bold run.font.name = "Calibri" def add_hr(doc): p = doc.add_paragraph() p.paragraph_format.space_before = Pt(2) p.paragraph_format.space_after = Pt(2) pPr = p._p.get_or_add_pPr() pBdr = OxmlElement("w:pBdr") bottom = OxmlElement("w:bottom") bottom.set(qn("w:val"), "single") bottom.set(qn("w:sz"), "6") bottom.set(qn("w:space"), "1") bottom.set(qn("w:color"), "2E74B5") pBdr.append(bottom) pPr.append(pBdr) def shade_cell(cell, fill_hex): tc = cell._tc tcPr = tc.get_or_add_tcPr() shd = OxmlElement("w:shd") shd.set(qn("w:val"), "clear") shd.set(qn("w:color"), "auto") shd.set(qn("w:fill"), fill_hex) tcPr.append(shd) # ── TITLE ───────────────────────────────────────────────────────────────────── title = doc.add_heading("Criteria for Multi-factorial Inheritance", level=1) title.alignment = WD_ALIGN_PARAGRAPH.CENTER style_heading(title, DARK_BLUE, 18) sub = doc.add_paragraph("Medical Genetics | Polygenic / Complex Inheritance") sub.alignment = WD_ALIGN_PARAGRAPH.CENTER sub.runs[0].font.color.rgb = MED_BLUE sub.runs[0].font.size = Pt(11) sub.runs[0].font.italic = True add_hr(doc) doc.add_paragraph("") # ── INTRODUCTION ─────────────────────────────────────────────────────────────── h = doc.add_heading("Introduction", level=2) style_heading(h, MED_BLUE, 13) p = doc.add_paragraph( "Multi-factorial inheritance describes traits and diseases caused by the combined action of " "multiple genes at different loci together with environmental factors. No single gene is the " "primary determinant; instead, each contributing variant exerts a small, generally additive " "effect. The phenotype does not follow any recognisable Mendelian pattern. Most common human " "diseases - including diabetes mellitus, hypertension, schizophrenia, and common congenital " "malformations - fall into this category." ) p.paragraph_format.space_after = Pt(8) doc.add_paragraph("") # ── CRITERIA ─────────────────────────────────────────────────────────────────── criteria = [ { "num": "1", "title": "Familial Aggregation Without Mendelian Ratios", "body": [ ("text", "The condition clusters in families at a frequency higher than in the general " "population, but does not conform to Mendelian ratios (1:2 autosomal dominant; 1:4 " "autosomal recessive). No predictable single-gene pedigree pattern is observed."), ("text", "Familial aggregation alone does not prove a genetic basis because families " "also share environments. It must be combined with the other criteria below."), ], }, { "num": "2", "title": "Recurrence Risk \u2248 Square Root of Population Incidence", "body": [ ("text", "A cardinal quantitative criterion: the recurrence risk for first-degree " "relatives (siblings, parents, offspring) approximates the square root of the " "general population incidence."), ("bullet", "Example: Population incidence = 1 in 1,000 (0.1%) \u2192 sibling risk \u2248 1 in 32 (~3%)"), ("text", "This contrasts with Mendelian disorders where first-degree risks are fixed " "fractions (25% or 50%). The square-root relationship is a mathematical consequence " "of the polygenic liability model."), ], }, { "num": "3", "title": "Risk Decreases Rapidly with Degree of Relatedness", "body": [ ("text", "Risk falls off sharply as genetic relationship becomes more distant - far " "more steeply than in single-gene disorders. This rapid gradient is a hallmark of " "polygenic inheritance."), ("text", "Example (Spina bifida):"), ("bullet", "First-degree relatives: ~4%"), ("bullet", "Second-degree relatives: ~1%"), ("bullet", "Third-degree relatives: <0.5%"), ("text", "The sib-risk to population-incidence ratio (\u03bbs) quantifies familial " "clustering. For type 1 diabetes: population incidence 0.4%, sibling risk 6%, " "giving \u03bbs = 15."), ], }, { "num": "4", "title": "Twin Concordance: MZ > DZ, but MZ < 100%", "body": [ ("text", "Monozygotic (MZ) twins show higher concordance than dizygotic (DZ) twins " "because they share identical genotypes. However, MZ concordance is not 100%, " "confirming environmental contribution."), ("bullet", "MZ concordance = DZ concordance \u2192 purely environmental"), ("bullet", "MZ concordance = 100% \u2192 purely genetic"), ("bullet", "MZ > DZ but MZ < 100% \u2192 multi-factorial"), ("text", "Example - Type 1 Diabetes Mellitus: MZ concordance ~50%; DZ concordance ~12%."), ("text", "Heritability (h\u00b2) - the proportion of trait variance due to genetic " "variation - is calculated from MZ vs DZ concordance differences. Selected values: " "schizophrenia h\u00b2 = 0.7-0.8; ankylosing spondylitis h\u00b2 >0.90; height h\u00b2 = 0.8."), ], }, { "num": "5", "title": "Severity of the Proband Affects Recurrence Risk", "body": [ ("text", "The more severely affected the index case, the higher the recurrence risk " "for relatives. A severely affected proband lies at the extreme end of the liability " "distribution, meaning relatives are also more likely to carry a high genetic burden."), ("text", "Example - Cleft lip / palate:"), ("bullet", "Proband with bilateral cleft lip + palate \u2192 6% risk in first-degree relatives"), ("bullet", "Proband with unilateral cleft lip only \u2192 2% risk in first-degree relatives"), ], }, { "num": "6", "title": "Risk Increases with Number of Affected Relatives", "body": [ ("text", "When more than one close relative is already affected, the recurrence risk " "for further relatives increases, reflecting a higher accumulated genetic load."), ("text", "Example - Spina bifida:"), ("bullet", "One sibling affected \u2192 ~4% risk for next sibling"), ("bullet", "Two siblings affected \u2192 ~10% risk for next sibling"), ], }, { "num": "7", "title": "Sex of Proband Affects Risk - The Carter Effect", "body": [ ("text", "When a condition is more common in one sex, relatives of the less frequently " "affected sex carry a higher recurrence risk. That individual had to overcome a higher " "liability threshold to be affected, implying an unusually high genetic load shared " "with their relatives."), ("text", "Classic example - Pyloric Stenosis (M:F = 5:1):"), ("bullet", "Sons of an affected MOTHER (less common sex): 19.4%"), ("bullet", "Daughters of an affected MOTHER: 7.3%"), ("bullet", "Sons of an affected FATHER (more common sex): 5.5%"), ("bullet", "Daughters of an affected FATHER: 2.4%"), ("text", "This phenomenon is known as the Carter Effect."), ], }, ] for c in criteria: h = doc.add_heading(f"{c['num']}. {c['title']}", level=2) style_heading(h, MED_BLUE, 12) for kind, text in c["body"]: if kind == "bullet": p = doc.add_paragraph(style="List Bullet") p.text = text.strip() p.paragraph_format.left_indent = Inches(0.35) for run in p.runs: run.font.size = Pt(11) else: p = doc.add_paragraph(text.strip()) p.paragraph_format.space_after = Pt(4) doc.add_paragraph("") # ── LIABILITY / THRESHOLD MODEL ──────────────────────────────────────────────── add_hr(doc) doc.add_paragraph("") h = doc.add_heading("The Liability / Threshold Model (Sewall Wright, 1934)", level=2) style_heading(h, DARK_BLUE, 13) p = doc.add_paragraph( "All multi-factorial disorders are explained by the liability/threshold model. Every individual " "has a liability - a continuous, normally distributed variable representing all genetic and " "environmental factors predisposing them to the disease. When liability crosses a threshold, " "the disease manifests (a discontinuous phenotype arising from a continuous underlying distribution)." ) p.paragraph_format.space_after = Pt(6) p = doc.add_paragraph( "The liability curves of relatives are shifted to the right relative to the general population, " "with the degree of shift proportional to closeness of relationship. This model has been " "validated by GWAS for schizophrenia, type 2 DM, rheumatoid arthritis, and Crohn disease." ) p.paragraph_format.space_after = Pt(10) doc.add_picture(img_path, width=Inches(4.5)) doc.paragraphs[-1].alignment = WD_ALIGN_PARAGRAPH.CENTER cap = doc.add_paragraph( "Fig. 1 Liability/threshold model. The familial incidence curve (bottom) is shifted rightward " "relative to the general population (top), producing a larger area beyond the threshold." ) cap.alignment = WD_ALIGN_PARAGRAPH.CENTER cap.runs[0].font.italic = True cap.runs[0].font.size = Pt(10) cap.runs[0].font.color.rgb = GREY_TEXT doc.add_paragraph("") # ── SUMMARY TABLE ───────────────────────────────────────────────────────────── add_hr(doc) doc.add_paragraph("") h = doc.add_heading("Summary of Criteria", level=2) style_heading(h, DARK_BLUE, 13) rows_data = [ ("1. Family clustering", "Higher than population frequency; no Mendelian ratios"), ("2. Sibling / offspring risk", "\u2248 \u221a(population incidence)"), ("3. Gradient with relatedness", "Risk falls sharply from 1st to 3rd degree"), ("4. Twin concordance", "MZ > DZ, but MZ < 100%"), ("5. Severity of proband", "More severe proband \u2192 higher risk for relatives"), ("6. Number affected relatives", "More affected relatives \u2192 higher risk for others"), ("7. Sex of proband (Carter)", "Less common sex affected \u2192 higher family risk"), ] table = doc.add_table(rows=1 + len(rows_data), cols=2) table.style = "Table Grid" # Header row hdr = table.rows[0].cells for i, htxt in enumerate(["Criterion", "Key Feature"]): hdr[i].text = htxt run = hdr[i].paragraphs[0].runs[0] run.font.bold = True run.font.color.rgb = WHITE run.font.size = Pt(11) shade_cell(hdr[i], "1F3864") # Data rows for ri, (c1, c2) in enumerate(rows_data): cells = table.rows[ri + 1].cells cells[0].text = c1 cells[1].text = c2 for cell in cells: for run in cell.paragraphs[0].runs: run.font.size = Pt(10.5) if ri % 2 == 0: for cell in cells: shade_cell(cell, "DCE6F1") doc.add_paragraph("") # ── EXAMPLES ────────────────────────────────────────────────────────────────── add_hr(doc) doc.add_paragraph("") h = doc.add_heading("Examples of Multi-factorial Disorders", level=2) style_heading(h, DARK_BLUE, 13) ex_table = doc.add_table(rows=1, cols=2) ex_table.style = "Table Grid" # Remove table borders tblPr = ex_table._tbl.tblPr tblBorders = OxmlElement("w:tblBorders") for side in ("top","left","bottom","right","insideH","insideV"): el = OxmlElement(f"w:{side}") el.set(qn("w:val"), "none") tblBorders.append(el) tblPr.append(tblBorders) congenital = ["Cleft lip / palate", "Congenital dislocation of the hip", "Congenital heart defects", "Neural tube defects (spina bifida)", "Pyloric stenosis", "Talipes"] adult = ["Asthma", "Autism spectrum disorder", "Diabetes mellitus (T1DM & T2DM)", "Hypertension", "Ischaemic heart disease", "Schizophrenia / Bipolar disorder", "Rheumatoid arthritis", "Multiple sclerosis", "Inflammatory bowel disease", "Parkinson disease"] for col_idx, (heading, items) in enumerate([("Congenital Malformations", congenital), ("Adult-Onset Diseases", adult)]): cell = ex_table.rows[0].cells[col_idx] cell.paragraphs[0].clear() rh = cell.paragraphs[0].add_run(heading) rh.font.bold = True rh.font.color.rgb = MED_BLUE rh.font.size = Pt(11) for item in items: p = cell.add_paragraph(f"\u2022 {item}") p.paragraph_format.left_indent = Inches(0.1) for run in p.runs: run.font.size = Pt(10.5) doc.add_paragraph("") # ── SOURCES ────────────────────────────────────────────────────────────────── add_hr(doc) doc.add_paragraph("") h = doc.add_heading("Sources", level=2) style_heading(h, DARK_BLUE, 12) sources = [ "Emery's Elements of Medical Genetics and Genomics (pp. 147-155) - Chapter 10: Multifactorial Inheritance & Liability/Threshold Model.", "Shambaugh Surgery of the Ear - Chapter on Genetics of Hearing Loss (Multi-factorial Traits).", "The Developing Human: Clinically Oriented Embryology - Chapter on Birth Defects Caused by Multi-factorial Inheritance.", ] for s in sources: p = doc.add_paragraph(f"\u2022 {s}", style="Normal") p.paragraph_format.left_indent = Inches(0.3) p.runs[0].font.size = Pt(10) p.runs[0].font.italic = True # ── SAVE ────────────────────────────────────────────────────────────────────── out = "/tmp/workspace/multifactorial-inheritance/Multifactorial_Inheritance_Criteria.docx" doc.save(out) print("Saved:", out) EOF

Your document is ready. Here is the download link:

Multifactorial Inheritance Criteria

Word Document · DOCX

The document includes:
  • Title block with subtitle in navy/blue styling
  • Introduction explaining the concept
  • 7 numbered criteria - each with clear explanations and clinical examples (pyloric stenosis, spina bifida, cleft lip/palate, T1DM twins, etc.)
  • Liability/Threshold Model section with the actual diagram (Fig. 10.5 from Emery's Genetics textbook)
  • Summary table with alternating row shading for quick reference
  • Examples table - congenital malformations vs adult-onset diseases in two columns
  • Sources cited at the end
This is a shared conversation. Sign in to Orris to start your own chat.