inherited metabolic disease of liver epidemology in india
inherited metabolic liver disease India epidemiology
inherited metabolic liver disease epidemiology India prevalence incidence 2022 2023 2024
Wilson disease India prevalence epidemiology
lysosomal storage disorder India epidemiology Gaucher Niemann
inborn errors metabolism liver India children
hereditary metabolic liver disease India registry newborn screening
Wilson disease India ATP7B mutation spectrum
glycogen storage disease Gaucher India prevalence
PMID: 39535360
PMID: 36112267
alpha-1 antitrypsin deficiency India prevalence epidemiology
lysosomal storage diseases India incidence newborn screening
PMID: 39138584
Wilson disease India prevalence 1 in 18000 lysosomal storage Gaucher Niemann Pick glycogen storage disease epidemiology Indian subcontinent
| Disease | India Relevance |
|---|---|
| Progressive familial intrahepatic cholestasis (PFIC) | Increasing case reports; underdiagnosed |
| Primary hyperoxaluria | Reports from Kashmir (PMID: 37803380); often presents with oxalate deposits in liver/kidney |
| Neonatal hemochromatosis | Gestational alloimmune liver disease; case series from India |
| Tyrosinemia Type I | Rare; presents with acute liver failure in infants |
| Galactosemia | No national screening; estimated incidence 1:40,000-1:60,000 |
| Porphyrias | Case reports from India (PMID: 37082991); often masquerade as common diseases |
| Disease | Estimated India Prevalence | Global Prevalence | Key India Features |
|---|---|---|---|
| Wilson disease | ~1 in 18,678 | 1 in 30,000-40,000 | Carrier rate 1/67; marked genetic heterogeneity |
| Gaucher disease | Most common LSD; precise incidence unknown | 1 in 40,000-60,000 | L444P predominant; Maharashtra cluster |
| Mucopolysaccharidoses | ~22% of LSDs | 1 in 25,000 (all types) | MPS I most common type |
| GM2 gangliosidoses | ~18% of LSDs (Tay-Sachs + Sandhoff) | 1 in 250,000-300,000 | Gujarat founder variant |
| Hereditary hemochromatosis | Very rare (HFE type) | 1 in 200-400 (Northern European) | C282Y allele nearly absent |
| Alpha-1 antitrypsin deficiency | Very rare | 1 in 2,000-5,000 | Z allele rare in Indian population |
| Glycogen storage diseases | ~5% of IEM | 1 in 20,000-25,000 | GSD Ia, III most common hepatic forms |
I want this Summary table in a slide
ls -la /tmp/workspace/ 2>/dev/null || mkdir -p /tmp/workspace && ls -la /tmp/workspace/
mkdir -p /tmp/workspace/imld-india && cat > /tmp/workspace/imld-india/create_slide.py << 'EOF' from pptx import Presentation from pptx.util import Inches, Pt, Emu from pptx.dml.color import RGBColor from pptx.enum.text import PP_ALIGN, MSO_ANCHOR from pptx.oxml.ns import qn from lxml import etree # ── Colour palette ────────────────────────────────────────────────────────── DARK_BLUE = RGBColor(0x0D, 0x2B, 0x4F) # title bar / header MID_BLUE = RGBColor(0x1A, 0x55, 0x8A) # col-header text LIGHT_BLUE = RGBColor(0xD6, 0xE8, 0xF7) # odd rows WHITE = RGBColor(0xFF, 0xFF, 0xFF) AMBER = RGBColor(0xE6, 0x7E, 0x22) # accent stripe GREY_TEXT = RGBColor(0x2E, 0x2E, 0x2E) COL_HDR_BG = RGBColor(0x1A, 0x55, 0x8A) COL_HDR_FG = RGBColor(0xFF, 0xFF, 0xFF) # ── Data ───────────────────────────────────────────────────────────────────── headers = ["Disease", "India Prevalence", "Global Prevalence", "Key India Features"] rows = [ ["Wilson Disease", "~1 in 18,678\n(carrier 1 in 67)", "1 in 30,000–40,000\n(carrier 1 in 90–180)", "Higher than global; marked genetic heterogeneity; no single predominant mutation"], ["Gaucher Disease", "Most common LSD;\n~16% of all LSD cases", "1 in 40,000–60,000", "L444P predominant; Maharashtra & Kerala-Muslim clusters; Type III common"], ["Mucopolysaccharidoses", "~22% of all LSDs\nin India", "1 in 25,000 (all types)", "MPS I most common type; founder variants in Indian cohorts"], ["GM2 Gangliosidoses\n(Tay-Sachs + Sandhoff)", "~18% of LSDs in India\n(Tay-Sachs 10%,\nSandhoff 7.8%)", "1 in 250,000–300,000", "Gujarat founder variant (Tay-Sachs); neurodegenerative + hepatomegaly"], ["Hereditary\nHemochromatosis", "Very rare\n(HFE-type)", "1 in 200–400\n(N. European)", "C282Y allele nearly absent in Indians; non-HFE iron overload more relevant"], ["Alpha-1 Antitrypsin\nDeficiency", "Very rare", "1 in 2,000–5,000\n(N. European)", "Z allele rare; chronically underdiagnosed; rare case reports only"], ["Glycogen Storage\nDiseases", "~5% of IEM in India;\nprecise incidence unknown", "1 in 20,000–25,000", "GSD Ia & III most common hepatic forms; consanguinity raises risk"], ] # ── Slide setup ────────────────────────────────────────────────────────────── prs = Presentation() prs.slide_width = Inches(13.333) prs.slide_height = Inches(7.5) slide = prs.slides.add_slide(prs.slide_layouts[6]) # blank # ── Background ─────────────────────────────────────────────────────────────── def solid_bg(slide, hex_color): background = slide.background fill = background.fill fill.solid() fill.fore_color.rgb = hex_color solid_bg(slide, RGBColor(0xF4, 0xF8, 0xFD)) # ── Title bar ──────────────────────────────────────────────────────────────── bar = slide.shapes.add_shape( 1, # MSO_SHAPE_TYPE.RECTANGLE Inches(0), Inches(0), Inches(13.333), Inches(1.0) ) bar.fill.solid(); bar.fill.fore_color.rgb = DARK_BLUE bar.line.fill.background() tb = slide.shapes.add_textbox(Inches(0.25), Inches(0.08), Inches(10), Inches(0.84)) tf = tb.text_frame; tf.word_wrap = False tf.margin_left = tf.margin_right = tf.margin_top = tf.margin_bottom = 0 p = tf.paragraphs[0] p.alignment = PP_ALIGN.LEFT run = p.add_run() run.text = "Inherited Metabolic Liver Diseases – Epidemiology in India" run.font.name = "Calibri" run.font.size = Pt(22) run.font.bold = True run.font.color.rgb = WHITE # Sub-title right side tb2 = slide.shapes.add_textbox(Inches(10.3), Inches(0.28), Inches(2.8), Inches(0.55)) tf2 = tb2.text_frame tf2.margin_left = tf2.margin_right = tf2.margin_top = tf2.margin_bottom = 0 p2 = tf2.paragraphs[0]; p2.alignment = PP_ALIGN.RIGHT r2 = p2.add_run() r2.text = "Summary Comparison Table" r2.font.name = "Calibri"; r2.font.size = Pt(11); r2.font.italic = True r2.font.color.rgb = RGBColor(0xAA, 0xCC, 0xEE) # ── Amber accent stripe (thin) ─────────────────────────────────────────────── stripe = slide.shapes.add_shape( 1, Inches(0), Inches(1.0), Inches(13.333), Inches(0.06) ) stripe.fill.solid(); stripe.fill.fore_color.rgb = AMBER stripe.line.fill.background() # ── Table geometry ──────────────────────────────────────────────────────────── TABLE_LEFT = Inches(0.25) TABLE_TOP = Inches(1.12) TABLE_WIDTH = Inches(12.83) TABLE_HEIGHT = Inches(6.1) col_widths = [Inches(2.0), Inches(2.4), Inches(2.5), Inches(5.93)] row_heights = [Inches(0.52)] + [Inches(0.80)] * len(rows) n_rows = 1 + len(rows) n_cols = 4 tbl = slide.shapes.add_table(n_rows, n_cols, TABLE_LEFT, TABLE_TOP, TABLE_WIDTH, TABLE_HEIGHT).table # Set column widths for ci, w in enumerate(col_widths): tbl.columns[ci].width = w # Set row heights for ri, h in enumerate(row_heights): tbl.rows[ri].height = h # ── Helper to style a cell ──────────────────────────────────────────────────── def style_cell(cell, text, font_size, bold, fg_color, bg_color, align=PP_ALIGN.CENTER, italic=False): cell.fill.solid() cell.fill.fore_color.rgb = bg_color tf = cell.text_frame tf.word_wrap = True tf.margin_left = Inches(0.06) tf.margin_right = Inches(0.06) tf.margin_top = Inches(0.04) tf.margin_bottom = Inches(0.04) tf.vertical_anchor = MSO_ANCHOR.MIDDLE # Clear existing paragraphs for para in tf.paragraphs[1:]: p_elem = para._p p_elem.getparent().remove(p_elem) lines = text.split('\n') for i, line in enumerate(lines): if i == 0: p = tf.paragraphs[0] else: p = tf.add_paragraph() p.alignment = align run = p.add_run() run.text = line run.font.name = "Calibri" run.font.size = Pt(font_size) run.font.bold = bold run.font.italic = italic run.font.color.rgb = fg_color # ── Column headers ──────────────────────────────────────────────────────────── for ci, h in enumerate(headers): style_cell(tbl.cell(0, ci), h, font_size=12, bold=True, fg_color=COL_HDR_FG, bg_color=COL_HDR_BG, align=PP_ALIGN.CENTER) # ── Data rows ───────────────────────────────────────────────────────────────── for ri, row in enumerate(rows): bg = LIGHT_BLUE if ri % 2 == 0 else WHITE for ci, text in enumerate(row): align = PP_ALIGN.LEFT if ci in (0, 3) else PP_ALIGN.CENTER bold = (ci == 0) style_cell(tbl.cell(ri + 1, ci), text, font_size=10, bold=bold, fg_color=GREY_TEXT, bg_color=bg, align=align) # ── Footer ──────────────────────────────────────────────────────────────────── ft_bar = slide.shapes.add_shape( 1, Inches(0), Inches(7.22), Inches(13.333), Inches(0.28) ) ft_bar.fill.solid(); ft_bar.fill.fore_color.rgb = DARK_BLUE ft_bar.line.fill.background() ft_tb = slide.shapes.add_textbox(Inches(0.25), Inches(7.23), Inches(13.0), Inches(0.26)) ft_tf = ft_tb.text_frame ft_tf.margin_left = ft_tf.margin_right = ft_tf.margin_top = ft_tf.margin_bottom = 0 fp = ft_tf.paragraphs[0]; fp.alignment = PP_ALIGN.LEFT fr = fp.add_run() fr.text = ("Sources: Goldman-Cecil Medicine | Sleisenger & Fordtran | Robbins Pathology | " "Kumar et al. 2025 (PMID 39535360) | Sheth et al. 2024 (PMID 39138584) | " "PMC10305895 (LSDs India)") fr.font.name = "Calibri"; fr.font.size = Pt(7.5); fr.font.color.rgb = RGBColor(0xBB, 0xCC, 0xDD) # ── Save ────────────────────────────────────────────────────────────────────── out = "/tmp/workspace/imld-india/IMLD_India_Epidemiology.pptx" prs.save(out) print("Saved:", out) EOF python /tmp/workspace/imld-india/create_slide.py
IMLD India Epidemiology
Presentation · PPTX