Make notes in a way i can score 10 marks for exam
| Type | Sources |
|---|---|
| Good sources | Milk, cheese, other milk products |
| Moderate sources | Egg, fish, vegetables, nuts |
| Group | Requirement |
|---|---|
| Adults | 500 mg/day |
| Children | 1,000 mg/day (1200 mg) |
| Pregnant & Lactating women | 1,500 mg/day |
| Old age | 1,500 mg/day (to prevent osteoporosis) |
| Parameter | Vitamin D | PTH | Calcitonin |
|---|---|---|---|
| Blood calcium | Increased | Drastically increased | Decreased |
| Main action | Absorption from gut | Demineralization | Opposes demineralization |
| Ca absorption from gut | Increased | Increased | - |
| Bone resorption | Decreased | Increased | Decreased |
| Deficiency | Rickets | Tetany | - |
| Excess effect | Hypercalcemia+ | Hypercalcemia++ | Hypocalcemia |
Memory Tip: PTH↑ = Ca↑ (Demineralization by Osteoclasts) | Calcitonin↑ = Ca↓ (Mineralization by Osteoblasts) | Vit D = mainly gut absorption via calbindin
Create a Word document with these notes for easy printing
mkdir -p /tmp/workspace/calcium-notes && ls /tmp/workspace/calcium-notes/
~/calcium-notes/create_notes.py
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
doc = Document()
# --- Page margins (narrow for printing) ---
from docx.shared import Inches
section = doc.sections[0]
section.top_margin = Inches(0.75)
section.bottom_margin = Inches(0.75)
section.left_margin = Inches(0.9)
section.right_margin = Inches(0.9)
# --- Default style ---
style = doc.styles["Normal"]
style.font.name = "Arial"
style.font.size = Pt(11)
# Helper: add shaded heading (like section title)
def add_section_heading(doc, text, level=1, color_rgb=(0x4F, 0x81, 0xBD)):
p = doc.add_heading(text, level=level)
p.alignment = WD_ALIGN_PARAGRAPH.LEFT
run = p.runs[0]
run.font.color.rgb = RGBColor(*color_rgb)
run.font.bold = True
return p
# Helper: add a bold + normal inline paragraph
def add_bullet(doc, bold_text, normal_text="", indent=False):
p = doc.add_paragraph(style="List Bullet")
if indent:
p.paragraph_format.left_indent = Inches(0.4)
run = p.add_run(bold_text)
run.bold = True
if normal_text:
p.add_run(normal_text)
return p
# Helper: shade a table row
def shade_row(row, fill_hex):
for cell in row.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'), fill_hex)
tcPr.append(shd)
# ============================================================
# TITLE
# ============================================================
title = doc.add_heading("CALCIUM – Exam Notes (10 Marks)", level=0)
title.alignment = WD_ALIGN_PARAGRAPH.CENTER
title.runs[0].font.color.rgb = RGBColor(0x1F, 0x39, 0x64)
title.runs[0].font.size = Pt(16)
sub = doc.add_paragraph("Chapter 17 – Minerals | Biochemistry")
sub.alignment = WD_ALIGN_PARAGRAPH.CENTER
sub.runs[0].font.color.rgb = RGBColor(0x70, 0x70, 0x70)
sub.runs[0].font.italic = True
sub.runs[0].font.size = Pt(11)
doc.add_paragraph() # spacer
# ============================================================
# 1. INTRODUCTION
# ============================================================
add_section_heading(doc, "1. Introduction", level=1, color_rgb=(0x1F, 0x39, 0x64))
add_bullet(doc, "Total body calcium: ", "1–1.5 kg")
add_bullet(doc, "99% ", "present in bones and teeth")
add_bullet(doc, "1% ", "extracellular – mainly in blood")
# ============================================================
# 2. SOURCES
# ============================================================
add_section_heading(doc, "2. Sources of Calcium", level=1, color_rgb=(0x1F, 0x39, 0x64))
table = doc.add_table(rows=3, cols=2)
table.style = "Table Grid"
hdr = table.rows[0]
shade_row(hdr, "1F3964")
for cell in hdr.cells:
for run in cell.paragraphs[0].runs:
run.font.color.rgb = RGBColor(0xFF, 0xFF, 0xFF)
run.bold = True
hdr.cells[0].paragraphs[0].add_run("Type").bold = True
hdr.cells[0].paragraphs[0].runs[0].font.color.rgb = RGBColor(0xFF, 0xFF, 0xFF)
hdr.cells[1].paragraphs[0].add_run("Sources").bold = True
hdr.cells[1].paragraphs[0].runs[0].font.color.rgb = RGBColor(0xFF, 0xFF, 0xFF)
data = [
("Good Sources", "Milk, cheese, other milk products"),
("Moderate Sources", "Egg, fish, vegetables, nuts"),
]
for i, (t, s) in enumerate(data):
row = table.rows[i + 1]
row.cells[0].paragraphs[0].add_run(t).bold = True
row.cells[1].text = s
if i % 2 == 0:
shade_row(row, "DCE6F1")
doc.add_paragraph()
# ============================================================
# 3. DAILY DIETARY ALLOWANCE (RDA)
# ============================================================
add_section_heading(doc, "3. Daily Dietary Allowance (RDA)", level=1, color_rgb=(0x1F, 0x39, 0x64))
table2 = doc.add_table(rows=5, cols=2)
table2.style = "Table Grid"
hdr2 = table2.rows[0]
shade_row(hdr2, "1F3964")
for i, txt in enumerate(["Group", "Requirement"]):
r = hdr2.cells[i].paragraphs[0].add_run(txt)
r.bold = True
r.font.color.rgb = RGBColor(0xFF, 0xFF, 0xFF)
rda_data = [
("Adults", "500 mg/day"),
("Children", "1,000–1,200 mg/day"),
("Pregnant & Lactating Women", "1,500 mg/day"),
("Old Age", "1,500 mg/day (to prevent osteoporosis)"),
]
for i, (g, r) in enumerate(rda_data):
row = table2.rows[i + 1]
row.cells[0].paragraphs[0].add_run(g).bold = True
row.cells[1].text = r
if i % 2 == 0:
shade_row(row, "DCE6F1")
doc.add_paragraph()
# ============================================================
# 4. ABSORPTION
# ============================================================
add_section_heading(doc, "4. Absorption of Calcium", level=1, color_rgb=(0x1F, 0x39, 0x64))
add_bullet(doc, "Site: ", "First part of small intestine")
add_bullet(doc, "Process: ", "Active process requiring energy and carrier protein")
p_inc = doc.add_paragraph(style="List Bullet")
p_inc.add_run("Increased by: ").bold = True
p_inc.add_run("Calcitriol (active Vit D), acidity (gastric juice), basic amino acids, Ca:P ratio of 1:2 to 2:1")
p_dec = doc.add_paragraph(style="List Bullet")
p_dec.add_run("Decreased by: ").bold = True
p_dec.add_run("Phytic acid (cereals), Oxalates (vegetables), excess fatty acids & phosphates → form insoluble Ca salts")
doc.add_paragraph()
# ============================================================
# 5. SERUM LEVEL
# ============================================================
add_section_heading(doc, "5. Serum Level of Calcium", level=1, color_rgb=(0x1F, 0x39, 0x64))
add_bullet(doc, "Normal serum calcium: ", "9–11 mg/dL")
add_bullet(doc, "Ionized (metabolically active) form: ", "4–4.5 mg/dL")
add_bullet(doc, "Remaining: ", "protein-calcium complex (non-diffusible)")
doc.add_paragraph()
# ============================================================
# 6. REGULATION
# ============================================================
add_section_heading(doc, "6. Regulation of Blood Calcium Level", level=1, color_rgb=(0x1F, 0x39, 0x64))
p = doc.add_paragraph()
p.add_run("Maintained by 3 factors: ").bold = True
p.add_run("(1) Vitamin D (2) Parathyroid Hormone (PTH) (3) Calcitonin")
doc.add_paragraph()
# Comparison table
comp_heads = ["Parameter", "Vitamin D", "PTH", "Calcitonin"]
comp_data = [
("Blood Calcium", "Increased", "Drastically Increased", "Decreased"),
("Main Action", "Absorption from gut", "Demineralization", "Opposes demineralization"),
("Ca Absorption from Gut", "Increased", "Increased", "—"),
("Bone Resorption", "Decreased", "Increased", "Decreased"),
("Deficiency", "Rickets", "Tetany", "—"),
("Effect of Excess", "Hypercalcemia+", "Hypercalcemia++", "Hypocalcemia"),
]
table3 = doc.add_table(rows=len(comp_data)+1, cols=4)
table3.style = "Table Grid"
hdr3 = table3.rows[0]
shade_row(hdr3, "375623")
for i, h in enumerate(comp_heads):
r = hdr3.cells[i].paragraphs[0].add_run(h)
r.bold = True
r.font.color.rgb = RGBColor(0xFF, 0xFF, 0xFF)
r.font.size = Pt(10)
for i, row_data in enumerate(comp_data):
row = table3.rows[i+1]
if i % 2 == 0:
shade_row(row, "EBF1DE")
for j, cell_text in enumerate(row_data):
p2 = row.cells[j].paragraphs[0]
run = p2.add_run(cell_text)
run.font.size = Pt(10)
if j == 0:
run.bold = True
doc.add_paragraph()
# ============================================================
# 7. DETAILS OF REGULATORY HORMONES
# ============================================================
add_section_heading(doc, "7. Regulatory Hormones – Details", level=1, color_rgb=(0x1F, 0x39, 0x64))
# Vitamin D
add_section_heading(doc, "A. Vitamin D (Calcitriol)", level=2, color_rgb=(0x17, 0x5F, 0x0B))
add_bullet(doc, "Active form: ", "Calcitriol (1,25-dihydroxycholecalciferol)")
add_bullet(doc, "Intestine: ", "Increases Ca absorption by inducing calbindin (Ca-binding protein)")
add_bullet(doc, "Bone: ", "Increases mineralization → activates osteoblast cells")
add_bullet(doc, "Kidney: ", "Increases Ca reabsorption, decreases Ca excretion")
# PTH
add_section_heading(doc, "B. Parathyroid Hormone (PTH)", level=2, color_rgb=(0x17, 0x5F, 0x0B))
add_bullet(doc, "Source: ", "4 parathyroid glands embedded in thyroid gland")
add_bullet(doc, "Main action: ", "Increases blood calcium level")
add_bullet(doc, "Bone: ", "Demineralization → increases osteoclast cells → Ca release")
add_bullet(doc, "Kidney: ", "↓ Ca excretion, ↑ phosphate excretion")
add_bullet(doc, "Enzyme: ", "Stimulates 1-hydroxylase → activates Vit D → ↑ Ca absorption")
add_bullet(doc, "Excess PTH: ", "Hyperparathyroidism, Dehydration, Hypercalcemia↑")
# Calcitonin
add_section_heading(doc, "C. Calcitonin", level=2, color_rgb=(0x17, 0x5F, 0x0B))
add_bullet(doc, "Source: ", "Parafollicular cells (C-cells) of thyroid gland")
add_bullet(doc, "Main action: ", "Decreases blood calcium level")
add_bullet(doc, "Bone: ", "Inhibits demineralization; inhibits osteoclasts, activates osteoblasts → Ca deposition")
add_bullet(doc, "Trigger: ", "Rising blood Ca²⁺ stimulates calcitonin secretion")
doc.add_paragraph()
# ============================================================
# 8. CALCIUM HOMEOSTASIS
# ============================================================
add_section_heading(doc, "8. Calcium Homeostasis (Fig. 17.1)", level=1, color_rgb=(0x1F, 0x39, 0x64))
add_bullet(doc, "Normal blood Ca²⁺: ", "~10 mg/100 mL")
add_bullet(doc, "When Ca²⁺ LOW: ", "PTH stimulated → bone releases Ca + kidney retains Ca + Active Vit D → gut absorbs Ca")
add_bullet(doc, "When Ca²⁺ HIGH: ", "PTH inhibited → Calcitonin stimulated → Ca deposited in bone + kidneys reduce Ca uptake")
doc.add_paragraph()
# ============================================================
# 9. BIOLOGICAL ROLES
# ============================================================
add_section_heading(doc, "9. Biological Role of Calcium", level=1, color_rgb=(0x1F, 0x39, 0x64))
roles = [
("Bone & teeth formation", "Major use of body calcium"),
("Enzyme activation", "Via calmodulin → Ca-calmodulin complex activates glycogen synthase, pyruvate kinase, adenyl cyclase"),
("Muscle contraction", "Excitation & contraction of skeletal, cardiac, smooth muscle"),
("Nerve impulse transmission", "Pre-synaptic to post-synaptic region"),
("Neuromuscular excitability", "Calcium decreases neuromuscular excitability"),
("Blood coagulation", "Required for clotting cascade"),
("Cell adhesion", "Adhesion of cells in a tissue"),
("Secondary messenger", "Intracellular signaling"),
]
for role, detail in roles:
add_bullet(doc, role + ": ", detail)
doc.add_paragraph()
# Enzymes table
p = doc.add_paragraph()
p.add_run("Enzymes activated by Ca²⁺ via Calmodulin:").bold = True
enzyme_list = ["Adenyl cyclase", "Ca²⁺-dependent protein kinases", "Ca²⁺-Mg²⁺-ATPase",
"Glycogen synthase", "Myosin kinase", "Phospholipase C", "Pyruvate dehydrogenase"]
for e in enzyme_list:
ep = doc.add_paragraph(e, style="List Bullet")
ep.paragraph_format.left_indent = Inches(0.3)
doc.add_paragraph()
# ============================================================
# 10. HYPOCALCEMIA
# ============================================================
add_section_heading(doc, "10. Hypocalcemia (Calcium Deficiency)", level=1, color_rgb=(0xC0, 0x00, 0x00))
add_bullet(doc, "Serum Ca < 8 mg/dL")
add_bullet(doc, "Mild: ", "Tremors")
add_bullet(doc, "Severe: ", "Tetany – spasm of muscles due to ↑ neuromuscular irritability")
add_bullet(doc, "Manifestation: ", "Carpopedal spasm + Laryngeal spasm")
add_bullet(doc, "Chronic deficiency: ", "Bone resorption → Osteoporosis (esp. postmenopausal women)")
add_bullet(doc, "Causes: ", "Inadequate dietary intake, Hypoparathyroidism")
add_bullet(doc, "Treatment: ", "Calcium supplementation + Vitamin D")
doc.add_paragraph()
# ============================================================
# 11. HYPERCALCEMIA
# ============================================================
add_section_heading(doc, "11. Hypercalcemia (Calcium Toxicity)", level=1, color_rgb=(0xC0, 0x00, 0x00))
add_bullet(doc, "Usually due to: ", "Hyperparathyroidism")
add_bullet(doc, "Bones: ", "Osteoporosis, bone resorption, ↑ fracture risk, X-ray shows punched-out areas")
add_bullet(doc, "Kidney: ", "Hypercalciuria → urinary calculi (kidney stones)")
add_bullet(doc, "Calcification: ", "In renal tissues, arterial walls, muscle tissues")
doc.add_paragraph()
# ============================================================
# MEMORY AIDS
# ============================================================
add_section_heading(doc, "Quick Memory Aids", level=1, color_rgb=(0x7F, 0x39, 0x7F))
tips_table = doc.add_table(rows=4, cols=2)
tips_table.style = "Table Grid"
shade_row(tips_table.rows[0], "7F397F")
r_h = tips_table.rows[0].cells[0].paragraphs[0].add_run("Concept")
r_h.bold = True; r_h.font.color.rgb = RGBColor(255,255,255)
r_h2 = tips_table.rows[0].cells[1].paragraphs[0].add_run("Memory Aid")
r_h2.bold = True; r_h2.font.color.rgb = RGBColor(255,255,255)
tips = [
("PTH effect", "PTH↑ = Ca↑ (Osteoclasts → Demineralization)"),
("Calcitonin effect", "Calcitonin↑ = Ca↓ (Osteoblasts → Mineralization)"),
("Vit D effect", "Vit D = Gut absorption via Calbindin → Ca↑"),
# ("Tetany", "Ca < 8 mg/dL → Carpopedal spasm"),
]
for i, (c, m) in enumerate(tips):
row = tips_table.rows[i+1]
shade_row(row, "F2DCDB" if i % 2 == 0 else "FFFFFF")
row.cells[0].paragraphs[0].add_run(c).bold = True
row.cells[1].text = m
doc.add_paragraph()
# Footer note
footer_p = doc.add_paragraph("Chapter 17 – Minerals | Biochemistry for Paramedical Students")
footer_p.alignment = WD_ALIGN_PARAGRAPH.CENTER
footer_p.runs[0].font.size = Pt(9)
footer_p.runs[0].font.color.rgb = RGBColor(0x80, 0x80, 0x80)
footer_p.runs[0].font.italic = True
# Save
out_path = "/tmp/workspace/calcium-notes/Calcium_Exam_Notes.docx"
doc.save(out_path)
print(f"Saved: {out_path}")
python3 /tmp/workspace/calcium-notes/create_notes.py
python3 -c " from docx import Document doc = Document('/tmp/workspace/calcium-notes/Calcium_Exam_Notes.docx') for p in doc.paragraphs[:20]: if p.text.strip(): print(f'[{p.style.name}] {p.text[:80]}') "
Calcium Exam Notes
Word Document · DOCX
Make word document type notes for this
~/enzyme-notes/create_enzyme_notes.py
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 os
os.makedirs("/tmp/workspace/enzyme-notes", exist_ok=True)
doc = Document()
# Page margins
section = doc.sections[0]
section.top_margin = Inches(0.75)
section.bottom_margin = Inches(0.75)
section.left_margin = Inches(0.9)
section.right_margin = Inches(0.9)
# Default style
style = doc.styles["Normal"]
style.font.name = "Arial"
style.font.size = Pt(11)
# ---- Helpers ----
def shade_row(row, fill_hex):
for cell in row.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'), fill_hex)
tcPr.append(shd)
def add_heading1(doc, text, color=(0x1F, 0x39, 0x64)):
p = doc.add_heading(text, level=1)
p.runs[0].font.color.rgb = RGBColor(*color)
p.runs[0].font.bold = True
return p
def add_heading2(doc, text, color=(0x17, 0x5F, 0x0B)):
p = doc.add_heading(text, level=2)
p.runs[0].font.color.rgb = RGBColor(*color)
p.runs[0].font.bold = True
return p
def add_bullet(doc, bold_part, normal_part="", indent=False):
p = doc.add_paragraph(style="List Bullet")
if indent:
p.paragraph_format.left_indent = Inches(0.4)
r = p.add_run(bold_part)
r.bold = True
if normal_part:
p.add_run(normal_part)
return p
def add_note_box(doc, text, color_hex="FFF2CC"):
"""Add a highlighted note paragraph."""
p = doc.add_paragraph()
p.paragraph_format.left_indent = Inches(0.2)
p.paragraph_format.right_indent = Inches(0.2)
pPr = p._p.get_or_add_pPr()
shd = OxmlElement('w:shd')
shd.set(qn('w:val'), 'clear')
shd.set(qn('w:color'), 'auto')
shd.set(qn('w:fill'), color_hex)
pPr.append(shd)
r = p.add_run(text)
r.bold = True
r.font.size = Pt(10)
return p
# ================================================================
# TITLE
# ================================================================
title = doc.add_heading("FACTORS INFLUENCING ENZYME ACTIVITY", level=0)
title.alignment = WD_ALIGN_PARAGRAPH.CENTER
title.runs[0].font.color.rgb = RGBColor(0x1F, 0x39, 0x64)
title.runs[0].font.size = Pt(16)
sub = doc.add_paragraph("Chapter 3 – Enzymes | Biochemistry for Paramedical Students")
sub.alignment = WD_ALIGN_PARAGRAPH.CENTER
sub.runs[0].font.color.rgb = RGBColor(0x70, 0x70, 0x70)
sub.runs[0].font.italic = True
sub.runs[0].font.size = Pt(11)
add_note_box(doc, "Key Principle: Contact between enzyme and substrate is the most essential prerequisite for enzyme activity.", "D6E4F0")
doc.add_paragraph()
# ================================================================
# 1. CONCENTRATION OF ENZYMES
# ================================================================
add_heading1(doc, "1. Concentration of Enzymes")
add_bullet(doc, "As enzyme concentration increases, ", "velocity of reaction also increases proportionately.")
add_bullet(doc, "Linear relationship: ", "enzyme activity plotted against enzyme concentration gives a straight line (Fig. 3.3).")
add_bullet(doc, "Clinical use: ", "Serum enzyme concentration is measured through its activity and is used for the diagnosis of diseases.")
doc.add_paragraph()
# ================================================================
# 2. SUBSTRATE CONCENTRATION
# ================================================================
add_heading1(doc, "2. Substrate Concentration")
add_bullet(doc, "As substrate concentration increases: ", "velocity also increases initially, but the curve flattens afterward (hyperbolic curve – Fig. 3.4).")
points = [
("Point A (low substrate): ", "Some enzyme molecules remain idle; velocity is low."),
("Point B (half-maximal velocity): ", "50% of enzyme molecules are bound with substrate."),
("Point C (saturation): ", "All enzyme molecules are saturated with substrate; maximum velocity reached."),
("Point D (beyond saturation): ", "Further increase in substrate cannot increase velocity."),
]
for bold, normal in points:
add_bullet(doc, bold, normal, indent=True)
add_bullet(doc, "Vmax: ", "Maximum velocity obtained when all enzyme molecules are saturated with substrate.")
doc.add_paragraph()
# Michaelis Constant
add_heading2(doc, "Michaelis Constant (Km Value)")
add_bullet(doc, "Definition: ", "Substrate concentration (in moles/L) at which the reaction velocity is half the maximum velocity (½Vmax).")
add_bullet(doc, "Km value is the signature of the enzyme ", "– it is a constant for a specific enzyme-substrate pair.")
add_bullet(doc, "Km is independent of enzyme concentration: ", "doubling enzyme concentration doubles Vmax, but Km stays exactly the same (Fig. 3.6).")
add_bullet(doc, "Km & affinity: ", "Lesser the Km value → Greater the affinity of enzyme for substrate.")
add_bullet(doc, "At Km concentration, ", "50% of enzyme molecules are bound with substrate molecules.")
doc.add_paragraph()
# Km Summary Table
p_km = doc.add_paragraph()
p_km.add_run("Summary: Km Salient Features").bold = True
km_table = doc.add_table(rows=6, cols=2)
km_table.style = "Table Grid"
shade_row(km_table.rows[0], "1F3964")
for i, h in enumerate(["Feature", "Detail"]):
r = km_table.rows[0].cells[i].paragraphs[0].add_run(h)
r.bold = True; r.font.color.rgb = RGBColor(255,255,255); r.font.size = Pt(10)
km_data = [
("Definition", "Substrate concentration at ½ Vmax"),
("Units", "Moles/L (mol/L)"),
("Relation to enzyme concentration", "Independent – Km stays same even if enzyme is doubled"),
("Relation to affinity", "Low Km = High affinity; High Km = Low affinity"),
("At Km", "50% enzyme molecules are bound to substrate"),
]
for i, (f, d) in enumerate(km_data):
row = km_table.rows[i+1]
if i % 2 == 0:
shade_row(row, "DCE6F1")
row.cells[0].paragraphs[0].add_run(f).bold = True
row.cells[1].text = d
doc.add_paragraph()
# ================================================================
# 3. EFFECT OF TEMPERATURE
# ================================================================
add_heading1(doc, "3. Effect of Temperature")
add_bullet(doc, "Velocity increases with temperature up to a maximum, then declines ", "(bell-shaped curve – Fig. 3.7).")
add_bullet(doc, "Optimum temperature: ", "Around 40°C for most enzymes.")
add_bullet(doc, "Above 50°C: ", "Denaturation occurs → derangement of protein structure → loss of activity.")
add_bullet(doc, "Most enzymes become inactive above 70°C.")
add_bullet(doc, "Exception: ", "Muscle adenylcyclase and enzymes in bacteria of thermal vents have optimum temperature of ~100°C.")
doc.add_paragraph()
# ================================================================
# 4. EFFECT OF pH
# ================================================================
add_heading1(doc, "4. Effect of pH")
add_bullet(doc, "Increase in H⁺ concentration influences enzyme activity; ", "a bell-shaped curve is obtained (Fig. 3.8).")
add_bullet(doc, "Each enzyme has an optimum pH ", "at which velocity is maximum.")
add_bullet(doc, "Above or below optimum pH: ", "Enzyme activity is much less; at extreme pH, enzymes become totally inactive.")
add_bullet(doc, "Most enzymes of higher organisms: ", "Optimum activity around neutral pH (6–8).")
add_bullet(doc, "Mechanism: ", "H⁺ ions influence enzyme activity by altering the ion concentration on the amino acid.")
doc.add_paragraph()
# pH examples table
p_ph = doc.add_paragraph()
p_ph.add_run("Optimum pH of Important Enzymes:").bold = True
ph_table = doc.add_table(rows=5, cols=2)
ph_table.style = "Table Grid"
shade_row(ph_table.rows[0], "375623")
for i, h in enumerate(["Enzyme", "Optimum pH"]):
r = ph_table.rows[0].cells[i].paragraphs[0].add_run(h)
r.bold = True; r.font.color.rgb = RGBColor(255,255,255); r.font.size = Pt(10)
ph_data = [
("Pepsin", "1–2 (very acidic)"),
("Acid Phosphatase (ACP)", "4–5 (acidic)"),
("Most digestive enzymes", "~7 (neutral)"),
("Alkaline Phosphatase (ALP) – liver & bone", "10–11 (alkaline)"),
]
for i, (e, p) in enumerate(ph_data):
row = ph_table.rows[i+1]
if i % 2 == 0:
shade_row(row, "EBF1DE")
row.cells[0].paragraphs[0].add_run(e).bold = True
row.cells[1].text = p
doc.add_paragraph()
# ================================================================
# 5. EFFECT OF PRODUCT ACCUMULATION
# ================================================================
add_heading1(doc, "5. Effect of Product Accumulation")
add_bullet(doc, "Accumulation of products generally decreases enzyme activity.")
add_bullet(doc, "Mechanism: ", "For certain enzymes, the product combines with the active site and forms a loose complex, which inhibits the enzyme activity.")
doc.add_paragraph()
# ================================================================
# 6. EFFECT OF ACTIVATORS
# ================================================================
add_heading1(doc, "6. Effect of Activators")
add_bullet(doc, "Inorganic metallic cations: ", "Some enzymes require Mg⁺⁺, Mn⁺⁺, and Zn⁺⁺ for their optimum activity (Table 3.2).")
doc.add_paragraph()
p_zy = doc.add_paragraph()
p_zy.add_run("Proenzyme / Zymogen Activation:").bold = True
p_zy.runs[0].font.color.rgb = RGBColor(0x17, 0x5F, 0x0B)
add_bullet(doc, "Proenzyme / Zymogen: ", "Inactive precursor form of an enzyme.")
add_bullet(doc, "Activation: ", "By splitting a single peptide bond and removing a small polypeptide → unmasks the active center.")
add_bullet(doc, "Example: ", "Trypsinogen (inactive) → Trypsin (active) by removal of small polypeptide.")
add_bullet(doc, "Coagulation factors: ", "Present in blood as zymogen forms. When needed, a cascade of chemical amplification produces large amounts instantaneously.")
doc.add_paragraph()
# ================================================================
# 7. EFFECT OF INHIBITORS
# ================================================================
add_heading1(doc, "7. Effect of Inhibitors")
add_bullet(doc, "Inhibitors decrease or stop enzyme activity.")
add_bullet(doc, "See enzyme inhibition section for full details ", "(competitive, non-competitive, uncompetitive inhibition).")
doc.add_paragraph()
# ================================================================
# 8. EFFECT OF TIME
# ================================================================
add_heading1(doc, "8. Effect of Time")
add_bullet(doc, "Under optimum conditions: ", "time needed for enzyme reaction is short.")
add_bullet(doc, "Variation in reaction time ", "is generally related to changes in pH and temperature.")
doc.add_paragraph()
# ================================================================
# QUICK COMPARISON TABLE
# ================================================================
add_heading1(doc, "Quick Summary: All Factors at a Glance", color=(0x7F, 0x39, 0x7F))
summary_table = doc.add_table(rows=9, cols=3)
summary_table.style = "Table Grid"
shade_row(summary_table.rows[0], "7F397F")
for i, h in enumerate(["Factor", "Effect on Enzyme Activity", "Key Point"]):
r = summary_table.rows[0].cells[i].paragraphs[0].add_run(h)
r.bold = True; r.font.color.rgb = RGBColor(255,255,255); r.font.size = Pt(10)
summary_data = [
("Enzyme Concentration", "↑ Enzyme → ↑ Velocity (linear)", "Used for disease diagnosis"),
("Substrate Concentration", "↑ Substrate → ↑ Velocity (then plateau)", "Vmax at saturation"),
("Km Value", "Low Km = High affinity", "Enzyme signature; independent of [E]"),
("Temperature", "↑ Temp → ↑ Velocity (peak ~40°C), then ↓", ">50°C causes denaturation"),
("pH", "Bell-shaped curve; each enzyme has optimum pH", "Extreme pH → total inactivity"),
("Product Accumulation", "↑ Products → ↓ Activity", "Product blocks active site"),
("Activators (Metal ions)", "Mg⁺⁺, Mn⁺⁺, Zn⁺⁺ increase activity", "Needed for optimum function"),
("Zymogen Activation", "Converts inactive → active enzyme", "e.g., Trypsinogen → Trypsin"),
]
for i, (f, e, k) in enumerate(summary_data):
row = summary_table.rows[i+1]
if i % 2 == 0:
shade_row(row, "F2DCDB")
else:
shade_row(row, "FFFFFF")
row.cells[0].paragraphs[0].add_run(f).bold = True
row.cells[1].text = e
row.cells[2].text = k
for c in row.cells:
for r in c.paragraphs[0].runs:
r.font.size = Pt(10)
doc.add_paragraph()
# Memory aid
add_note_box(doc, "Memory Aid: E-S-T-P-P-A-I-T → Enzyme conc, Substrate conc, Temperature, pH, Product accumulation, Activators, Inhibitors, Time", "E2EFDA")
doc.add_paragraph()
# Footer
foot = doc.add_paragraph("Chapter 3 – Enzymes | Biochemistry for Paramedical Students")
foot.alignment = WD_ALIGN_PARAGRAPH.CENTER
foot.runs[0].font.size = Pt(9)
foot.runs[0].font.italic = True
foot.runs[0].font.color.rgb = RGBColor(0x80, 0x80, 0x80)
out = "/tmp/workspace/enzyme-notes/Enzyme_Activity_Factors_Notes.docx"
doc.save(out)
print(f"Saved: {out}")
python3 /tmp/workspace/enzyme-notes/create_enzyme_notes.py
Enzyme Activity Factors Notes
Word Document · DOCX