install
source · Clone the upstream repo
git clone https://github.com/FreedomIntelligence/OpenClaw-Medical-Skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/FreedomIntelligence/OpenClaw-Medical-Skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/bio-experimental-design-batch-design" ~/.claude/skills/freedomintelligence-openclaw-medical-skills-bio-experimental-design-batch-design && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/FreedomIntelligence/OpenClaw-Medical-Skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/bio-experimental-design-batch-design" ~/.openclaw/skills/freedomintelligence-openclaw-medical-skills-bio-experimental-design-batch-design && rm -rf "$T"
manifest:
skills/bio-experimental-design-batch-design/SKILL.mdsource content
<!--
# COPYRIGHT NOTICE
# This file is part of the "Universal Biomedical Skills" project.
# Copyright (c) 2026 MD BABU MIA, PhD <md.babu.mia@mssm.edu>
# All Rights Reserved.
#
# This code is proprietary and confidential.
# Unauthorized copying of this file, via any medium is strictly prohibited.
#
# Provenance: Authenticated by MD BABU MIA
-->
name: bio-experimental-design-batch-design description: Designs experiments to minimize and account for batch effects using balanced layouts and blocking strategies. Use when planning multi-batch experiments, assigning samples to sequencing lanes, or designing studies where technical variation could confound biological signals. tool_type: r primary_tool: sva measurable_outcome: Execute skill workflow successfully with valid output within 15 minutes. allowed-tools:
- read_file
- run_shell_command
Batch Design and Mitigation
Core Principle
Batch effects are unavoidable. Good design makes them correctable.
Design Rules
- Never confound batch with condition - Each batch must contain all conditions
- Balance samples across batches - Equal numbers per condition per batch
- Randomize within constraints - Avoid systematic patterns
- Include controls - Same samples across batches if possible
Balanced Design Example
# BAD: Confounded design # Batch 1: All treated samples # Batch 2: All control samples # -> Cannot separate batch from treatment # GOOD: Balanced design # Batch 1: 3 treated, 3 control # Batch 2: 3 treated, 3 control # -> Batch effect can be estimated and removed
Sample Assignment
library(designit) # Create balanced assignment samples <- data.frame( sample_id = paste0('S', 1:24), condition = rep(c('ctrl', 'treat'), each = 12), sex = rep(c('M', 'F'), 12) ) # Optimize batch assignment batch_design <- osat(samples, batch_size = 8, balance_cols = c('condition', 'sex'))
Detecting Batch Effects
library(sva) # From count matrix mod <- model.matrix(~condition, colData) mod0 <- model.matrix(~1, colData) # Estimate number of surrogate variables (hidden batches) n_sv <- num.sv(counts_normalized, mod) # Estimate surrogate variables svobj <- sva(counts_normalized, mod, mod0, n.sv = n_sv)
Correction Methods
| Method | When to Use |
|---|---|
| ComBat | Known batches, moderate effects |
| SVA | Unknown batches, exploratory |
| RUVseq | Using control genes |
| limma::removeBatchEffect | Visualization only |
Documenting Design
Always record:
- Date of sample processing
- Reagent lot numbers
- Operator
- Equipment/lane assignments
- Any deviations from protocol
Related Skills
- experimental-design/power-analysis - Account for batch in power calculations
- differential-expression/batch-correction - Correcting batch effects in analysis
- single-cell/batch-integration - scRNA-seq batch correction