western-blot-quantification
Protocols and best practices for western blot quantification and analysis including band detection, normalization, and statistical methods.
Install / Use
npx skills add jaechang-hits/SciAgent-Skills --skill western-blot-quantificationInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
Development & EngineeringSupported Platforms
Our assessment of western-blot-quantification
western-blot-quantification scores 91/100 on our quality scale, 1167th of 4,619 Development & Engineering skills we index (top 26%).
Its SKILL.md is 20 KB long, well organised into 34 sections with 5 code examples: a thorough specification that gives an agent plenty to work with.
It has 367 GitHub stars, a meaningful sign that others use it.
Maintenance, license and trust
- The repository was last updated 37 days ago, so western-blot-quantification is actively maintained.
- No license is declared. By default that means all rights are reserved: you can read it, but reusing or redistributing it is not clearly permitted. Ask the author before building on it commercially.
- Its trust signals score 88/100, with 1 caution from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
Safety scan
No issues foundOur scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands.
Automated pattern scan on 2026-10-05. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.
western-blot-quantification compared with similar skills
All 4 of these similar skills score higher than western-blot-quantification; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| western-blot-quantification (this skill)by jaechang-hits | 91 | 367 | 37d ago | SKILL.md |
| ai-job-searchby MadsLorentzen | 100 | 45.0k | 1d ago | CLAUDE.md |
| claude-howtoby luongnv89 | 100 | 41.7k | 4d ago | CLAUDE.md |
| LocalAIby mudler | 100 | 49.4k | today | MCP Server |
| algorithmic-artby anthropics | 100 | 177.9k | 12d ago | SKILL.md |
Frequently asked questions
- How do I install western-blot-quantification?
- Run
npx skills add jaechang-hits/SciAgent-Skills --skill western-blot-quantification. The install tabs above show the steps for each supported agent. - Which AI agents does western-blot-quantification work with?
- It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
- Is western-blot-quantification safe to use?
- Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. It declares no license and scores 88/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is western-blot-quantification still maintained?
- The repository was last updated 37 days ago, so western-blot-quantification is actively maintained.
Skill content
View source on GitHubname: western-blot-quantification description: Protocols and best practices for western blot quantification and analysis including band detection, normalization, and statistical methods. license: open
Western Blot Quantification and Analysis
Metadata
Short Description: Comprehensive guide for quantifying and analyzing Western blot images with multiple experimental repetitions, including intensity measurement, normalization, statistical analysis, and visualization.
Authors: Ohagent Team
Version: 1.0
Last Updated: December 2025
License: CC BY 4.0
Commercial Use: ✅ Allowed
Overview
This guide provides a standardized workflow for analyzing Western blot images, particularly for experiments with multiple repetitions and conditions. The protocol covers band intensity detection, normalization procedures, statistical aggregation, and visualization best practices.
Key Concepts
Loading Control Normalization
Western blot quantification cannot use raw band intensities, because total protein loaded per lane varies between samples (pipetting error, transfer efficiency, gel artifacts). A loading control is a protein assumed to be expressed at the same level across all samples (commonly GAPDH, β-actin, α-tubulin, or a total-protein stain such as Ponceau S / stain-free imaging). Dividing the target band intensity by the loading control intensity in the same lane yields a normalized value that corrects for these per-lane technical variations. The loading control must itself be unsaturated and within the linear dynamic range of the detection system.
Two-Step Normalization
When two related signals are measured in the same blot — for example a total form (SMAD2) and its phosphorylated form (PSMAD2) — a two-step normalization disentangles changes in protein abundance from changes in modification state. Step A normalizes the total protein to a housekeeping control (SMAD2_norm = SMAD2 / GAPDH); Step B normalizes the modified form to that loading-corrected total (PSMAD2_target = PSMAD2 / SMAD2_norm). This isolates the modification-specific signal from changes in expression of the underlying protein.
Statistical Aggregation Across Repetitions
Each Western blot is one experimental observation; biological conclusions require biological replicates (independent experiments, not just multiple lanes from one gel). Aggregation steps: (1) normalize within each replicate, (2) compute fold-change relative to the within-replicate control (so the control is 1.0 by definition), (3) compute mean and dispersion (SD or SE) across replicates. Normalizing across replicates before computing fold-change inflates apparent effect size and confuses gel-to-gel variation with biological effect.
Standard Deviation vs Standard Error
SD describes the spread of the underlying biological response across replicates and is appropriate when the question is "how variable is this effect?". SE (= SD / √n) describes the precision of the estimated mean and is appropriate when the question is "how confident are we in this mean value?". For typical n=3 western blot experiments, SD bars look larger than SE bars but communicate the underlying biology more honestly. Always state which error measure is plotted in the figure legend.
Decision Framework
Western blot quantification decision tree
└── Single target protein measured?
├── Yes -> Single-step normalization: Target / LoadingControl (per lane)
│ └── Compute fold change vs control within each replicate
│ └── Aggregate mean +/- error across replicates
└── No, two related signals (e.g., total + modified form)
└── Two-step normalization
├── Step A: TotalForm_norm = TotalForm / LoadingControl (per lane)
└── Step B: ModifiedForm_target = ModifiedForm / TotalForm_norm
Error bar choice:
└── Reporting biological variability of the effect? -> SD
└── Reporting precision of the mean estimate? -> SE = SD / sqrt(n)
Experimental design choice:
└── Discrete treatments (control vs conditions) -> Multi-condition design + bar graph + ANOVA / t-tests
└── Same treatment over multiple time points -> Time course design + line graph; normalize to t0 control
└── Same treatment at multiple concentrations -> Dose response design + log-x line graph; fit EC50 / IC50
| Situation | Recommended choice | Rationale | |-----------|--------------------|-----------| | Quantifying total protein abundance changes | Single-step normalization (Target / LoadingControl) | One measurement per lane; loading control corrects total-protein loading | | Quantifying post-translational modification (phosphorylation, ubiquitination) | Two-step normalization (Modified / Total_norm) | Isolates modification stoichiometry from changes in total protein expression | | n = 3 replicates, biology-focused figure | Mean ± SD | Communicates the spread of the biological response | | n = 3 replicates, statistical-precision figure | Mean ± SE | Communicates the precision of the mean estimate | | Small fold changes (~1.5×) on noisy blots | Increase n to ≥ 4–6 and report SE with explicit n in legend | Low effect size requires more replicates for adequate statistical power | | Comparing 4+ discrete conditions | Multi-condition design + ANOVA with post-hoc correction | Pairwise t-tests across many conditions inflate Type I error | | Tracking the same effect over time | Time-course design, normalize to t = 0 within each replicate | Removes baseline drift between replicates | | Determining potency (EC50 / IC50) | Dose-response design with log-spaced concentrations | Log spacing samples the sigmoidal response uniformly; nonlinear fit gives EC50 | | Loading control band saturated | Re-image at lower exposure or dilute the lysate | Saturated bands violate the linear dynamic range and silently bias normalization | | One outlier replicate with unusually high variability | Document and exclude with justification (e.g., transfer artifact) | Honest exclusion is preferable to a noisy mean; never silently drop data |
Standard Workflow
Step 1: Image Preprocessing and Band Detection
Objective: Identify ROIs and isolate individual bands in the Western blot image.
Key Considerations:
- Use analyze_pixel_distribution then find_roi_from_image functions
- If find_roi_from_image couldn't detect ROIs properly, retry with different lower_threshold and upper_threshold parameters
- If there are still undetected ROIs, you can manually infer the coordinates of undetected ROIs by using the correctly detected ROIs (IMPORTANT: You MUST preserve the coordinates of correctly detected ROIs)
- The final image with ROIs should also be saved as an image
- Detect all bands for target proteins
- Identify experimental repetitions (typically arranged in lanes)
- Recognize different conditions (e.g., control, treatment groups)
- Handle potential artifacts, background noise, and lane alignment issues
Tools: analyze_pixel_distribution, find_roi_from_image
Step 2: Intensity Measurement
Objective: Quantify band intensities for all detected bands.
Procedure:
-
For each lane/repetition, measure the intensity of:
- Target protein band (e.g., PSMAD2)
- Loading control band (e.g., SMAD2, GAPDH)
- Background intensity (for correction if needed)
-
Record measurements in a structured format:
- Condition name (e.g., "control", "P144", "TGF-β1", "Tβ1Ab")
- Repetition number (e.g., Rep1, Rep2, Rep3)
- Protein target (e.g., PSMAD2, SMAD2, GAPDH)
- Raw intensity value
Best Practices:
- Use consistent ROI (Region of Interest) sizes for all bands
- Apply background subtraction if necessary
- Verify band detection visually before proceeding
Step 3: Normalization Procedure
Objective: Normalize target protein intensities to account for loading variations.
Two-Step Normalization Process:
Step A: Loading Control Normalization
Calculate the relative intensity of the loading control protein:
SMAD2_norm = Intensity_SMAD2 / Intensity_GAPDH
This accounts for variations in total protein loading across samples.
Step B: Target Protein Normalization
Calculate the final normalized target protein intensity:
Target_value = Intensity_PSMAD2 / SMAD2_norm
This provides the normalized PSMAD2 intensity that accounts for both loading control and relative protein levels.
Alternative Normalization Methods:
- Single loading control: If only GAPDH is available:
Target_norm = Intensity_Target / Intensity_GAPDH - Total protein normalization: If using total protein stain:
Target_norm = Intensity_Target / Intensity_TotalProtein - Housekeeping gene: Common controls include GAPDH, β-actin, α-tubulin
Step 4: Relative Quantification (Fold Change Calculation)
Objective: Express results relative to a control condition.
Procedure:
- For each experimental repetition, identify the control condition
- Calculate fold change for each condition:
Fold_Change = Target_value_condition / Target_value_control
- The control condition will have a fold change of 1.0 by definition
- Treatment conditions will show fold changes relative to control (e.g., 1.5 = 50% increase, 0.7 = 30% decrease)
Important Notes:
- Always normalize within the same repetition before comparing across repetitions
- Ensure control condition is clearly identified
- Document which condition serves as the baseline
Step 5: Statistical Aggregation
Objective: Combine data from multiple experimental repetitions.
Procedure:
- Collect normalized values (or fold changes) from all repetitions
- For each condition, calculate:
- Mean: Average across repetitions
- Standard Deviation (SD): Measure of variability
- Standard Error (SE): SD / √n, where n = number of repetitions
- Sample size (n): Number of repetitions
Statistical Considerations:
- Minimum of 3 repetitions recommended for meaningful statistics
- Report both mean and error measure (SD or SE)
- Consider statistical tests (t-test, ANOVA) if comparing multiple conditions
- Document any excluded repetitions and reasons
Step 6: Visualization
Objective: Create clear, publication-ready visualizations.
Bar Graph Requirements:
- X-axis: Experimental conditions (e.g., Control, P144, TGF-β1, Tβ1Ab)
- Y-axis: Normalized values or fold change (typically starting from 0)
- Bars: Mean values for each condition
- Error bars: Standard deviation or standard error
- Labels: Clear condition names, units, sample size (n=X)
Visualization Best Practices:
- Use consistent colors for conditions across figures
- Include statistical significance indicators if applicable (e.g., *, **, ***)
- Add figure title and axis labels
- Save in high resolution (300 DPI for publications)
Verification Images:
- Create grid/overlay images showing detected ROIs
- Helps verify correct band detection
- Useful for troubleshooting and quality control
- Save as separate file (e.g.,
wb_grid_verification.png)
Common Experimental Designs
Design 1: Multiple Conditions with Replicates
- Structure: 3-4 conditions × 3 repetitions = 9-12 lanes
- Example: Control, Treatment A, Treatment B, Treatment C (each in triplicate)
- Analysis: Normalize within each repetition, then aggregate across repetitions
Design 2: Time Course
- Structure: Multiple time points × conditions × repetitions
- Example: 0h, 6h, 12h, 24h for Control and Treatment
- Analysis: Normalize to time 0 control, then compare across time points
Design 3: Dose Response
- Structure: Multiple concentrations × repetitions
- Example: 0, 1, 5, 10, 50 μM treatment
- Analysis: Normalize to 0 concentration, plot dose-response curve
Troubleshooting
Issue: Inconsistent Ban
Truncated for display — read the full file on GitHub.
Related Skills
ai-job-search
45.0kThe job search that runs on your machine. AI job application framework built on Claude Code: evaluate postings, tailor CVs, write cover letters, prep interviews. Fork it and own it.
claude-howto
41.7kA visual, example-driven guide to Claude Code — from basic concepts to advanced agents, with copy-paste templates that bring immediate value.
LocalAI
49.4kLocalAI is the open-source AI engine. Run any model - LLMs, vision, voice, image, video - on any hardware. No GPU required.
algorithmic-art
177.9kCreating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
