Xantho proteic reaction in fmt

Reading File
Finding Sources
Searching the Web

xanthoproteic reaction biochemistry aromatic amino acids mechanism

Reading File
Reading File
Here is a complete answer on the Xanthoproteic Reaction in the context of Forensic Medicine & Toxicology (FMT), specifically Nitric Acid Poisoning:

Xanthoproteic Reaction in Forensic Medicine & Toxicology

What is it?

The xanthoproteic reaction is the yellow discoloration of tissues, skin, and clothing caused when concentrated nitric acid (HNO₃) contacts organic matter containing aromatic amino acids (tyrosine, phenylalanine, tryptophan). The acid nitrates the aromatic benzene rings in these amino acids, forming xanthoproteic acid (a yellow nitro-compound). In alkaline conditions the color deepens to orange.
  • The word "xanthoproteic" comes from Greek: xanthos = yellow, proteic = protein

Forensic Relevance - Nitric Acid (HNO₃) Poisoning

Nitric acid is also known as Aqua Fortis or "Red Spirit of Niter." It is a clear, colorless, fuming, heavy liquid with a peculiar choking odor, and a powerful oxidizing agent that dissolves all metals except gold and platinum.
The xanthoproteic reaction is the hallmark and distinguishing feature of nitric acid poisoning.

Signs & Symptoms Where Xanthoproteic Reaction is Seen

FindingDescription
Lips, tongue & oral mucosaInitially white, then turn deep yellow due to xanthoproteic acid formation
ClothingStained yellow
TeethYellow stained (crowns of teeth)
VomitusYellowish-brown, containing altered blood
UrineBrown colored
AbdomenMore distended and tender (gas formation from direct acid action on organic matter of stomach)
  • P C Dikshit Textbook of Forensic Medicine and Toxicology, p. 454
  • The Essentials of Forensic Medicine and Toxicology, 36th ed. (2026), Nitric Acid section

Why Yellow? - The Mechanism

  1. Concentrated HNO₃ contacts protein-containing tissues
  2. Aromatic rings (in tyrosine, phenylalanine, tryptophan) undergo electrophilic nitration
  3. A yellow nitro-compound (xanthoproteic acid) is formed
  4. In alkaline conditions (e.g., adding ammonia), the color turns orange-yellow (deepens)
This is also why nitric acid on the skin of a person (e.g., in acid attack cases/vitriolage) produces a characteristic yellow staining.

Differentiating Features vs Other Corrosive Acids

FeatureSulphuric AcidNitric AcidHydrochloric Acid
Color of stainBlack/brown (charring)Yellow (xanthoproteic)White/grayish
Perforation of stomachCommonUncommon (chars/toughens tissue)Uncommon
Gas formationLessMore (more eructation/distension)Moderate
Fumes at room tempNoYes (volatile)Yes

Tests for Nitric Acid (Forensic Confirmation)

  1. Brown Ring Test - Adding ferrous sulphate solution + sulfuric acid to a solution containing nitric acid produces a brown ring at the junction of the two fluids (test for nitrates)
  2. Ammonia test - Adding ammonia water to yellow stains makes them turn yellow (confirms xanthoproteic reaction)
  3. Iodide + ammonia - Yellow stains disappear
  4. Bile test - Used to further confirm

Key Exam Points

  • Xanthoproteic reaction = yellow discoloration = pathognomonic of nitric acid poisoning
  • Fatal dose: 10-15 mL
  • Fatal period: 12-24 hours
  • Treatment: Same as for sulfuric acid (dilution, demulcents - do NOT induce vomiting)
  • Most cases: accidental or suicidal; homicide is rare
  • Inhalation of fumes can cause pulmonary edema, bronchopneumonia, or death from glottic edema

Flow chart

Generating Image

A clean, detailed medical flowchart titled "Xanthoproteic Reaction in Nitric Acid Poisoning (FMT)" with the following flow: Start box: "NITRIC ACID (HNO3) EXPOSURE" (Aqua Fortis / Red Spirit of Niter) Arrow down to two parallel branches: Branch 1: "INGESTION" Branch 2: "INHALATION OF FUMES" INGESTION branch flows down: → "Concentrated HNO3 contacts protein-rich tissues" → "Nitration of aromatic amino acids (Tyrosine, Phenylalanine, Tryptophan)" → "Formation of XANTHOPROTEIC ACID" → Yellow box: "XANTHOPROTEIC REACTION — Yellow discoloration" → Signs box listing: "• Lips/tongue/mucosa: white → yellow • Teeth: yellow stained • Clothing: yellow stained • Vomitus: yellowish-brown • Urine: brown • Abdomen: distended (gas)" Then from Yellow discoloration box: → "In alkaline conditions (e.g., ammonia added)" → "Color deepens to ORANGE-YELLOW" INHALATION branch flows down: → "Fumes irritate respiratory tract" → Signs: "• Lachrymation • Photophobia • Cough • Dyspnoea" → "Pulmonary Oedema / Bronchopneumonia / Glottic Oedema" → "Death" Bottom section — FORENSIC TESTS box: "1. Brown Ring Test — ferrous sulphate + H2SO4 → brown ring (confirms nitrates) 2. Ammonia test — yellow stains turn orange-yellow 3. Iodide + ammonia → stains disappear" Bottom facts box: "Fatal Dose: 10–15 mL | Fatal Period: 12–24 hours | Treatment: Same as H2SO4 poisoning" Use a white background, color-coded boxes (blue for mechanism, yellow for xanthoproteic reaction signs, red for fatal outcomes, green for tests), clear arrows, professional medical diagram style.

Running Command

mkdir -p /tmp/workspace/fmt-flowchart && python3 -c "import matplotlib; print(matplotlib.__version__)"

Writing File

~/fmt-flowchart/flowchart.py

import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
from matplotlib.patches import FancyBboxPatch, FancyArrowPatch

fig, ax = plt.subplots(figsize=(16, 22))
ax.set_xlim(0, 16)
ax.set_ylim(0, 22)
ax.axis('off')
fig.patch.set_facecolor('#FAFAFA')

# ---------- helper functions ----------
def box(ax, x, y, w, h, text, facecolor, edgecolor='#333333', fontsize=10,
        textcolor='black', bold=False, radius=0.3, lw=1.5, ha='center', va='center'):
    fancy = FancyBboxPatch((x - w/2, y - h/2), w, h,
                           boxstyle=f"round,pad=0.05,rounding_size={radius}",
                           facecolor=facecolor, edgecolor=edgecolor, linewidth=lw, zorder=3)
    ax.add_patch(fancy)
    weight = 'bold' if bold else 'normal'
    ax.text(x, y, text, ha=ha, va=va, fontsize=fontsize,
            color=textcolor, weight=weight, zorder=4,
            multialignment='center', wrap=True)

def arrow(ax, x1, y1, x2, y2, color='#444444', lw=2):
    ax.annotate('', xy=(x2, y2), xytext=(x1, y1),
                arrowprops=dict(arrowstyle='->', color=color, lw=lw), zorder=5)

def label_arrow(ax, x, y, text, fontsize=8.5, color='#555555'):
    ax.text(x, y, text, ha='center', va='center', fontsize=fontsize,
            color=color, style='italic', zorder=6)

# ============================================================
# TITLE
# ============================================================
ax.text(8, 21.4, 'Xanthoproteic Reaction in Nitric Acid Poisoning',
        ha='center', va='center', fontsize=15, weight='bold', color='#1a1a2e')
ax.text(8, 21.0, 'Forensic Medicine & Toxicology (FMT)',
        ha='center', va='center', fontsize=11, color='#4a4e69', style='italic')

# ============================================================
# TOP: NITRIC ACID BOX
# ============================================================
box(ax, 8, 20.2, 7.5, 0.85,
    'NITRIC ACID (HNO₃)  —  Aqua Fortis / Red Spirit of Niter\n'
    'Clear, colourless, fuming liquid  |  Powerful oxidising agent',
    facecolor='#1a1a2e', edgecolor='#1a1a2e', fontsize=10,
    textcolor='white', bold=True)

arrow(ax, 8, 19.77, 8, 19.35)

# ============================================================
# EXPOSURE TYPE: two branches
# ============================================================
box(ax, 4.2, 19.0, 4.5, 0.6, 'INGESTION\n(Concentrated liquid)',
    facecolor='#e63946', edgecolor='#c1121f', textcolor='white', bold=True, fontsize=10)
box(ax, 11.8, 19.0, 4.5, 0.6, 'INHALATION\n(Fumes / vapours)',
    facecolor='#e77d22', edgecolor='#c05e0a', textcolor='white', bold=True, fontsize=10)

# branch lines from top box
ax.annotate('', xy=(4.2, 19.3), xytext=(8, 19.35),
            arrowprops=dict(arrowstyle='->', color='#444', lw=2), zorder=5)
ax.annotate('', xy=(11.8, 19.3), xytext=(8, 19.35),
            arrowprops=dict(arrowstyle='->', color='#444', lw=2), zorder=5)

# ============================================================
# LEFT BRANCH — INGESTION / XANTHOPROTEIC
# ============================================================
arrow(ax, 4.2, 18.7, 4.2, 18.15)
box(ax, 4.2, 17.85, 5.5, 0.55,
    'HNO₃ contacts protein-rich tissues\n(skin, mucosa, GI tract)',
    facecolor='#f1faee', edgecolor='#457b9d', fontsize=9.5)

arrow(ax, 4.2, 17.57, 4.2, 17.05)
box(ax, 4.2, 16.75, 5.5, 0.55,
    'Nitration of aromatic amino acids\n(Tyrosine · Phenylalanine · Tryptophan)',
    facecolor='#a8dadc', edgecolor='#457b9d', fontsize=9.5, bold=False)

arrow(ax, 4.2, 16.47, 4.2, 15.95)
box(ax, 4.2, 15.65, 5.5, 0.55,
    'Formation of XANTHOPROTEIC ACID\n(yellow nitro-compound)',
    facecolor='#ffd166', edgecolor='#e0a800', fontsize=9.5, bold=True)

arrow(ax, 4.2, 15.37, 4.2, 14.8)

# XANTHOPROTEIC REACTION big yellow box
box(ax, 4.2, 14.25, 5.8, 1.05,
    '✦  XANTHOPROTEIC REACTION  ✦\nYellow discolouration of tissues\n(hallmark of HNO₃ poisoning)',
    facecolor='#f9c74f', edgecolor='#e0a800', fontsize=10.5, bold=True, lw=2.5)

arrow(ax, 4.2, 13.72, 4.2, 13.15)

# Signs box
box(ax, 4.2, 12.25, 5.8, 1.75,
    'CLINICAL SIGNS\n'
    '• Lips / tongue / mucosa:  white → YELLOW\n'
    '• Teeth crowns:  yellow stained\n'
    '• Clothing:  yellow stained\n'
    '• Vomitus:  yellowish-brown + altered blood\n'
    '• Urine:  brown\n'
    '• Abdomen:  distended & tender (gas)',
    facecolor='#fffbe6', edgecolor='#e0a800', fontsize=9, lw=1.5)

# Alkaline sub-branch
arrow(ax, 6.1, 14.25, 7.3, 14.25)
box(ax, 8.9, 14.25, 2.8, 0.55,
    'Alkaline medium\n(e.g. ammonia added)',
    facecolor='#d0f4de', edgecolor='#52b788', fontsize=8.5)
arrow(ax, 10.3, 14.25, 11.0, 14.25)
box(ax, 12.1, 14.25, 2.5, 0.55,
    'Colour deepens\nto ORANGE-YELLOW',
    facecolor='#ff9a3c', edgecolor='#c05e0a', fontsize=8.5, bold=True, textcolor='white')

# ============================================================
# RIGHT BRANCH — INHALATION
# ============================================================
arrow(ax, 11.8, 18.7, 11.8, 18.15)
box(ax, 11.8, 17.85, 4.8, 0.55,
    'Fumes irritate respiratory\n& ocular mucosa',
    facecolor='#f1faee', edgecolor='#e77d22', fontsize=9.5)

arrow(ax, 11.8, 17.57, 11.8, 17.05)
box(ax, 11.8, 16.6, 4.8, 0.8,
    'SYMPTOMS\n• Lachrymation  • Photophobia\n• Burning throat  • Sneezing\n• Cough  • Chest constriction',
    facecolor='#ffe8d6', edgecolor='#e77d22', fontsize=9)

arrow(ax, 11.8, 16.2, 11.8, 15.7)
box(ax, 11.8, 15.4, 4.8, 0.55,
    'Dyspnoea  /  Oedema of Glottis\nPulmonary Oedema  |  Bronchopneumonia',
    facecolor='#ffb4a2', edgecolor='#e63946', fontsize=9)

arrow(ax, 11.8, 15.12, 11.8, 14.62)
box(ax, 11.8, 14.35, 3.5, 0.45,
    'DEATH',
    facecolor='#e63946', edgecolor='#9d0208', fontsize=11,
    textcolor='white', bold=True, lw=2)

# ============================================================
# FORENSIC FACTS row
# ============================================================
arrow(ax, 4.2, 11.37, 4.2, 10.85)

box(ax, 8, 10.5, 13.5, 0.65,
    'FATAL DOSE: 10–15 mL        |        FATAL PERIOD: 12–24 hours        |        TREATMENT: Same as H₂SO₄ (dilution, demulcents; NO emesis)',
    facecolor='#e9ecef', edgecolor='#6c757d', fontsize=9.5, lw=1.5)

# ============================================================
# FORENSIC TESTS
# ============================================================
arrow(ax, 8, 10.17, 8, 9.65)
box(ax, 8, 8.9, 13.5, 1.3,
    'FORENSIC CONFIRMATORY TESTS FOR NITRIC ACID\n\n'
    '1. Brown Ring Test — Add ferrous sulphate + H₂SO₄ to suspected solution → brown ring at junction (confirms nitrates)\n'
    '2. Ammonia Test — Add ammonia to yellow stains → colour turns ORANGE-YELLOW\n'
    '3. Iodide + Ammonia Test — Yellow stains DISAPPEAR\n'
    '4. Bile Test — Further confirmation',
    facecolor='#d8f3dc', edgecolor='#40916c', fontsize=9.5, lw=2)

# ============================================================
# COMPARISON TABLE
# ============================================================
arrow(ax, 8, 8.25, 8, 7.65)

# table header
box(ax, 8, 7.35, 13.5, 0.55,
    'COMPARISON: CORROSIVE ACID POISONING',
    facecolor='#343a40', edgecolor='#343a40', fontsize=10,
    textcolor='white', bold=True)

# column headers
cols = [2.0, 5.5, 8.5, 11.5, 14.5]
headers = ['Feature', 'H₂SO₄ (Sulphuric)', 'HNO₃ (Nitric) ★', 'HCl (Hydrochloric)', 'Oxalic Acid']
for i, (cx, hdr) in enumerate(zip(cols, headers)):
    fc = '#f9c74f' if i == 2 else '#dee2e6'
    box(ax, cx, 6.85, 2.8 if i > 0 else 2.5, 0.45, hdr,
        facecolor=fc, edgecolor='#adb5bd', fontsize=8.5, bold=True)

rows = [
    ('Tissue stain', 'Black / brown', 'YELLOW ★', 'White / grey', 'White'),
    ('Perforation', 'Common', 'Uncommon\n(chars tissue)', 'Uncommon', 'Rare'),
    ('Gas / distension', 'Less', 'MORE', 'Moderate', 'Less'),
    ('Fumes at room temp', 'No', 'YES', 'Yes', 'No'),
]
y_row = 6.4
for row in rows:
    for i, (cx, val) in enumerate(zip(cols, row)):
        fc = '#fffbe6' if i == 2 else 'white'
        box(ax, cx, y_row, 2.8 if i > 0 else 2.5, 0.38, val,
            facecolor=fc, edgecolor='#dee2e6', fontsize=8, lw=1)
    y_row -= 0.4

# ============================================================
# FOOTER
# ============================================================
ax.text(8, 4.35, 'Source: Essentials of Forensic Medicine & Toxicology 36th ed. (2026) | P.C. Dikshit Textbook of FMT',
        ha='center', va='center', fontsize=8, color='#6c757d', style='italic')

plt.tight_layout(pad=0.5)
plt.savefig('/tmp/workspace/fmt-flowchart/xanthoproteic_flowchart.png',
            dpi=160, bbox_inches='tight', facecolor='#FAFAFA')
print("Saved.")
Running Command

cd /tmp/workspace/fmt-flowchart && python3 flowchart.py

Here is your flowchart:

xanthoproteic flowchart

Image · PNG

The flowchart covers:
  • Two branches - Ingestion and Inhalation of nitric acid fumes
  • Step-by-step mechanism - from HNO₃ contact → nitration of aromatic amino acids → xanthoproteic acid → yellow discolouration
  • Alkaline sub-branch - showing colour change to orange-yellow with ammonia
  • Clinical signs of ingestion
  • Respiratory signs from fume inhalation leading to death
  • Fatal dose/period/treatment summary bar
  • Forensic confirmatory tests (Brown Ring, Ammonia, Iodide+Ammonia)
  • Comparison table with H₂SO₄, HCl, and Oxalic acid poisoning
This is a shared conversation. Sign in to Orris to start your own chat.