Tooluniverse Epigenomics
wu-yc/LabClaw
Production-ready genomics and epigenomics data processing for BixBench questions.
Compare cell-type composition and spatial features across conditions in IMC/MIBI cohorts with the patient as the experimental unit, covering pseudoreplication, per-patient aggregation, mixed models…
$ npx skills add GPTomics/bioSkills --skill bio-imaging-mass-cytometry-differential-analysis -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install GPTomics/bioSkills bio-imaging-mass-cytometry-differential-analysis --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/GPTomics/bioSkills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/imaging-mass-cytometry/differential-analysis .claude/skills/bio-imaging-mass-cytometry-differential-analysis && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "bio-imaging-mass-cytometry-differential-analysis" agent skill from https://github.com/GPTomics/bioSkills/tree/main/imaging-mass-cytometry/differential-analysis into .claude/skills/bio-imaging-mass-cytometry-differential-analysis/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bio-imaging-mass-cytometry-differential-analysis", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/GPTomics/bioSkills/tree/main/imaging-mass-cytometry/differential-analysisType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add GPTomics/bioSkills --skill bio-imaging-mass-cytometry-differential-analysis -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install GPTomics/bioSkills bio-imaging-mass-cytometry-differential-analysis --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/GPTomics/bioSkills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/imaging-mass-cytometry/differential-analysis .agents/skills/bio-imaging-mass-cytometry-differential-analysis && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "bio-imaging-mass-cytometry-differential-analysis" agent skill from https://github.com/GPTomics/bioSkills/tree/main/imaging-mass-cytometry/differential-analysis into .agents/skills/bio-imaging-mass-cytometry-differential-analysis/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bio-imaging-mass-cytometry-differential-analysis", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add GPTomics/bioSkills --skill bio-imaging-mass-cytometry-differential-analysis -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install GPTomics/bioSkills bio-imaging-mass-cytometry-differential-analysis --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/GPTomics/bioSkills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/imaging-mass-cytometry/differential-analysis .cursor/skills/bio-imaging-mass-cytometry-differential-analysis && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "bio-imaging-mass-cytometry-differential-analysis" agent skill from https://github.com/GPTomics/bioSkills/tree/main/imaging-mass-cytometry/differential-analysis into .cursor/skills/bio-imaging-mass-cytometry-differential-analysis/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bio-imaging-mass-cytometry-differential-analysis", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/GPTomics/bioSkills.git --path imaging-mass-cytometry/differential-analysis--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add GPTomics/bioSkills --skill bio-imaging-mass-cytometry-differential-analysis -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install GPTomics/bioSkills bio-imaging-mass-cytometry-differential-analysis --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/GPTomics/bioSkills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/imaging-mass-cytometry/differential-analysis .gemini/skills/bio-imaging-mass-cytometry-differential-analysis && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "bio-imaging-mass-cytometry-differential-analysis" agent skill from https://github.com/GPTomics/bioSkills/tree/main/imaging-mass-cytometry/differential-analysis into .gemini/skills/bio-imaging-mass-cytometry-differential-analysis/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bio-imaging-mass-cytometry-differential-analysis", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install GPTomics/bioSkills bio-imaging-mass-cytometry-differential-analysisInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add GPTomics/bioSkills --skill bio-imaging-mass-cytometry-differential-analysis -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/GPTomics/bioSkills.git skills-src && mkdir -p .github/skills && cp -r skills-src/imaging-mass-cytometry/differential-analysis .github/skills/bio-imaging-mass-cytometry-differential-analysis && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "bio-imaging-mass-cytometry-differential-analysis" agent skill from https://github.com/GPTomics/bioSkills/tree/main/imaging-mass-cytometry/differential-analysis into .github/skills/bio-imaging-mass-cytometry-differential-analysis/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bio-imaging-mass-cytometry-differential-analysis", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add GPTomics/bioSkills --skill bio-imaging-mass-cytometry-differential-analysis -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install GPTomics/bioSkills bio-imaging-mass-cytometry-differential-analysis --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/GPTomics/bioSkills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/imaging-mass-cytometry/differential-analysis .opencode/skills/bio-imaging-mass-cytometry-differential-analysis && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "bio-imaging-mass-cytometry-differential-analysis" agent skill from https://github.com/GPTomics/bioSkills/tree/main/imaging-mass-cytometry/differential-analysis into .opencode/skills/bio-imaging-mass-cytometry-differential-analysis/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bio-imaging-mass-cytometry-differential-analysis", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
bio-imaging-mass-cytometry-differential-analysisCompare cell-type composition and spatial features across conditions in IMC/MIBI cohorts with the patient as the experimental unit, covering pseudoreplication, per-patient aggregation, mixed models…
Bio Imaging Mass Cytometry Differential Analysis is an agent skill from GPTomics/bioSkills. Compare cell-type composition and spatial features across conditions in IMC/MIBI cohorts with the patient as the experimental unit, covering pseudoreplication, per-patient aggregation, mixed models, compositional (Dirichlet/scCODA) differential abundance, diffcyt, per-image-to-patient spatial differential testing (SpaceANOVA), batch covariates, and FDR. Use when testing whether a cell type or spatial niche differs between groups, avoiding cell-level pseudoreplication, choosing a differential-abundance method, or…
Its SKILL.md is about 3.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files (for example `examples/differential_abundance.py` and `usage-guide.md`).
It sits in Research & Science. It works with statsmodels. The repository describes itself as: a set of SKILLS.md for doing bioinformatics with agents like claude code. The licence is MIT.
Read from SKILL.md and the folder at commit d91ed3d. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships script files (Python), which the agent can run.
Shell commands in SKILL.md call:
pipFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use pip, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Bio Imaging Mass Cytometry Differential Analysis loads about 3.5k tokens when it runs. Until then it costs about 153 tokens; SKILL.md has 1,452 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from GPTomics/bioSkills at commit d91ed3d, republished under its MIT licence (© GPTomics). 1,452 words, ~3,538 tokens.
.claude/skills/bio-imaging-mass-cytometry-differential-analysis/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Reference examples tested with: diffcyt 1.22+ (R), lme4 1.1+ (R), statsmodels 0.14+, scanpy 1.10+, sccoda 0.1.9+, numpy 1.26+, pandas 2.2+
Before using code patterns, verify installed versions match. If versions differ:
pip show <package> then help(module.function) to check signaturespackageVersion('<pkg>') then ?function_name to verify parametersIf code throws ImportError, AttributeError, or TypeError, introspect the installed package and adapt the example to match the actual API rather than retrying.
Notes specific to this skill: cell-type proportions are compositional (they sum to 1), so a real increase in one type forces apparent decreases in others -- a Dirichlet/CLR-aware method (scCODA) or a reference cell type is needed, not independent per-type tests. statsmodels mixedlm fits patient as a random effect. diffcyt operates on per-sample cluster counts (DA) and per-sample median marker expression (DS).
"Compare cell types and spatial structure between my conditions" -> Aggregate to the patient, then test across patients -- never across cells.
statsmodels.formula.api.mixedlm, sccoda, scanpydiffcyt, lme4::lmer, SpaceANOVA for spatial differential testingAfter phenotyping and spatial analysis, every interesting claim ("disease has more Tregs", "responders have more CD8-tumor contact") is a comparison BETWEEN groups, and the single most common fatal error is testing it at the cell level. Hundreds of thousands of cells from one patient are not independent replicates -- they are correlated reads of one biological sample, and cells within an image are massively spatially autocorrelated. Testing at the cell level inflates n by orders of magnitude and manufactures significance: a per-cell test over 50,000 cells reports p~0 for trivial effects because the effective sample size is the number of PATIENTS (often 10-40), not cells (Squair 2021 Nat Commun 12:5692). In imaging this is worse than in scRNA because slide and ROI add nesting levels and ROIs are not random samples of the tissue. The correct spine is invariant across every differential question: compute a per-image (or per-ROI) summary, aggregate to ONE value per patient, then test across patients with the patient as the unit -- a mixed model with patient as a random effect (image nested within patient), a pseudobulk-style per-patient summary, or a cell-count-weighted average of per-image statistics (Samorodnitsky and Wu 2024 Brief Bioinform 25:bbae522). Two riders complete the picture: cell-type proportions are COMPOSITIONAL (they are constrained to sum to 1, so a real rise in one type mechanically depresses the others, and independent per-type tests double-count this), and acquisition BATCH drifts by day/run and can align with clinical group, so batch must be a covariate and acquisition order randomized against condition. Phenotyping-method choice and statistical-unit choice are orthogonal: getting the cell types right does not excuse testing them wrong.
| Question | Per-image summary | Patient-level test |
|---|---|---|
| Cell-type abundance differs between groups | per-image cell-type proportions | mixed model on proportions; scCODA (compositional); diffcyt-DA |
| A functional/state marker differs within a type | per-image median marker per type | pseudobulk per patient + limma/edgeR; diffcyt-DS |
| A spatial interaction/niche differs between groups | per-image enrichment z / Ripley's K / CN abundance | mixed model / cell-count-weighted; SpaceANOVA (FANOVA on cross-K) |
| Scenario | Recommended | Why |
|---|---|---|
| Compare cell-type proportions, several types shift | scCODA (or CLR + mixed model) | handles the compositional constraint and the reference-type problem |
| Standard cytometry-style DA on clusters | diffcyt-DA (edgeR on per-sample counts) | designed for per-sample cluster counts; established |
| Multiple ROIs per patient | mixed model, patient random effect (image nested) | respects nesting; or cell-count-weighted aggregate |
| Few patients (n < ~10) | simple per-patient test; report low power honestly | do NOT rescue power with cell count |
| Differential functional-marker expression within a type | pseudobulk per patient + limma/edgeR (diffcyt-DS) | aggregates out cell-level pseudoreplication |
| Spatial interaction/niche across groups | per-image spatial stat -> patient aggregate; SpaceANOVA | the spatial statistic is the summary; the unit is still the patient |
| Acquisition batch aligns with group | include batch covariate; if confounded, the contrast is unrescuable | randomize acquisition order against condition |
Goal: Collapse millions of cells to one summary per patient before any test.
Approach: Compute per-image cell-type proportions, then aggregate images to their patient. Every downstream test consumes this patient-level table, not the cell table.
import pandas as pd
# obs has one row per cell with image_id, patient, condition, cell_type
counts = obs.groupby(['patient', 'condition', 'image_id', 'cell_type']).size().unstack(fill_value=0)
image_prop = counts.div(counts.sum(axis=1), axis=0) # per-image proportions
patient_prop = image_prop.groupby(['patient', 'condition']).mean() # one row per patientGoal: Test a cell type's proportion across groups while respecting patient/ROI nesting.
Approach: Fit a mixed model with patient as a random effect when multiple ROIs per patient exist; this absorbs within-patient correlation that a fixed-effect test would treat as independent replication.
import statsmodels.formula.api as smf
# one row per image; proportion of the target type; patient random intercept
df = image_prop.reset_index().rename(columns={'Treg': 'prop'}) # 'Treg' = an actual cell_type column
model = smf.mixedlm('prop ~ condition + batch', df, groups=df['patient']) # batch as covariate
res = model.fit()
print(res.summary()) # the condition coefficient is tested with patient as the unitGoal: Avoid the false "everything changed" artifact when proportions are constrained to sum to 1.
Approach: Model the counts as compositional against a reference cell type; a change is interpreted relative to that reference rather than as an independent per-type shift.
import sccoda.util.cell_composition_data as dat
from sccoda.util import comp_ana as mod
# patient-level cell-type COUNTS (not proportions); pick a biologically stable reference type
data = dat.from_pandas(patient_counts, covariate_columns=['condition'])
analysis = mod.CompositionalAnalysis(data, formula='condition', reference_cell_type='Epithelial')
result = analysis.sample_hmc()
result.summary()Goal: Test whether a spatial interaction or niche differs between groups, at the patient unit.
Approach: Treat the per-image spatial statistic (a neighborhood-enrichment z, a Ripley's cross-K curve, a CN abundance) as the summary, aggregate to patient, and test across patients with FDR over cell-type pairs. SpaceANOVA does this as a functional ANOVA on per-image cross-K with subject structure.
import statsmodels.formula.api as smf
from statsmodels.stats.multitest import multipletests
# per_image_pair: rows = (image_id, patient, condition, batch, enrichment_z) for ONE type pair
pvals = {}
for pair, sub in per_image_pair.groupby('pair'):
res = smf.mixedlm('enrichment_z ~ condition + batch', sub, groups=sub['patient']).fit()
pvals[pair] = res.pvalues['condition[T.responder]']
padj = dict(zip(pvals, multipletests(list(pvals.values()), method='fdr_bh')[1])) # FDR across pairsGoal: Test whether a functional/state marker (Ki67, PD-1) differs within a cell type between groups.
Approach: Pseudobulk to one value per patient per cell type (median marker expression among that type's cells), then test across patients. diffcyt-DS (R) formalizes this on per-sample medians; the Python pseudobulk path is below.
import numpy as np
t = adata[adata.obs['cell_type'] == 'T cell']
ki67 = t[:, 'Ki67'].X
ki67 = ki67.toarray().ravel() if hasattr(ki67, 'toarray') else np.asarray(ki67).ravel()
pb = t.obs.assign(ki67=ki67).groupby(['patient', 'condition'])['ki67'].median().reset_index()
print(smf.ols('ki67 ~ condition', pb).fit().pvalues['condition[T.responder]']) # one value per patientTrigger: a t-test/Wilcoxon/regression over individual cells. Mechanism: correlated cells from one sample are pseudoreplicates; effective n is the patient count. Symptom: p~0 for trivial effects; "significant" findings that do not replicate. Fix: aggregate to per-patient summaries; test across patients.
Trigger: a separate test per cell type on proportions. Mechanism: proportions sum to 1, so a real rise in one type depresses others mechanically. Symptom: many types appear to change in opposite directions. Fix: compositional model (scCODA) or CLR transform with a reference type.
Trigger: aggressive integration to make clusters patient-agnostic, then testing on corrected data. Mechanism: correction can treat real between-patient biology as batch. Symptom: the disease signal disappears. Fix: correct minimally, validate that invariant types align while variable types stay separate, and keep integration out of the across-patient inference path.
Trigger: claiming significance from n=4 patients because millions of cells were imaged. Mechanism: cell count is not replication. Symptom: confident claims from few patients. Fix: report the patient n and the true power honestly; collect more patients.
| Threshold | Source | Rationale |
|---|---|---|
| Unit of replication = patient count (often 10-40) | Squair 2021 Nat Commun 12:5692 | cells/ROIs are pseudoreplicates |
| Cell-count-weighted per-image aggregation | Samorodnitsky and Wu 2024 Brief Bioinform 25:bbae522 | controls type-I error with high power (vs unweighted ROI averaging) |
| Reference cell type for compositional DA | Buttner 2021 Nat Commun 12:6876 | proportions are not independent |
| BH-FDR across cell-type pairs and radii | multiplicity | ~200 pairs x radii guarantees false positives |
| Batch covariate; randomize acquisition order | spatial dossier | run drift can align with clinical group |
| Error / symptom | Cause | Solution |
|---|---|---|
| p~0 with a trivial effect | cell-level test | per-patient aggregation; mixed model |
| All cell types "changed" | compositional constraint ignored | scCODA / CLR with reference type |
| Disease signal vanished after integration | batch over-correction | minimal correction; keep it out of the test |
| Significant with n=4 patients | power rescued by cell count | report patient n; do not over-claim |
| Many significant pairs | no FDR across pairs/radii | BH-FDR over the full grid |
© GPTomics, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files in imaging-mass-cytometry/differential-analysis of GPTomics/bioSkills.
Open the folder on GitHubat commit d91ed3d
We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in GPTomics/bioSkills, which our catalogue first saw on October 7, 2026.
Bio Imaging Mass Cytometry Differential Analysis next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Bio Imaging Mass Cytometry Differential Analysis this skillGPTomics/bioSkills | 1.2k | 1 repos | ~3.5k | Automated safety check: Pass | MIT | |
| Tooluniverse Epigenomicswu-yc/LabClaw | 1.1k | 2 repos | ~14k | Automated safety check: Pass | None | |
| Stata Python Translationbrycewang-stanford/Auto-Empirical-Research-Skills | 4.6k | — | ~6.2k | Automated safety check: Pass | Custom licence | |
| Bio Proteomics Differential AbundanceFreedomIntelligence/OpenClaw-Medical-Skills | 3.1k | — | ~1.2k | Automated safety check: Pass | None | |
| Statistical Data Analysislingzhi227/agent-research-skills | 390 | — | ~886 | Automated safety check: Pass | None | |
| Causal Inference Mixtapebrycewang-stanford/Auto-Empirical-Research-Skills | 4.6k | — | ~1.5k | Automated safety check: Pass | Custom licence |
wu-yc/LabClaw
Production-ready genomics and epigenomics data processing for BixBench questions.
brycewang-stanford/Auto-Empirical-Research-Skills
Stata-to-Python translation for data analysis. An agent skill from brycewang-stanford/Auto-Empirical-Research-Skills.
FreedomIntelligence/OpenClaw-Medical-Skills
Statistical testing for differentially abundant proteins between conditions.
lingzhi227/agent-research-skills
Writes statistical analysis code for experimental data, runs it through a four-round review, and reports effect sizes, p-values and confidence intervals.
brycewang-stanford/Auto-Empirical-Research-Skills
This skill should be used when the user asks to "implement a DiD regression", "write a causal inference pipeline", "set up an event study", "implement instrumental variables", "run a regression…
jaechang-hits/SciAgent-Skills
Symbolic math in Python: exact algebra, calculus (derivatives, integrals, limits), equation solving, symbolic matrices, ODEs, code gen (lambdify, C/Fortran).
GPTomics/bioSkills
Read, write, and convert multiple sequence alignment files using Biopython Bio.AlignIO.
GPTomics/bioSkills
Installs the bioSkills collection of 425 bioinformatics skills in one step, or only chosen categories, so sequencing, RNA-seq, single-cell and variant tasks get specialized help.
GPTomics/bioSkills
Write biological sequences to files (FASTA, FASTQ, GenBank, EMBL) using Biopython Bio.SeqIO.
GPTomics/bioSkills
Soft- or hard-clips PCR primer footprints from aligned amplicon BAMs so primer bases stop masquerading as confirmed reference sequence.
GPTomics/bioSkills
Filters BAM alignments by FLAG bits, mapping quality and regions with samtools view or pysam, with recipes for common keep and drop cases.
GPTomics/bioSkills
Create and use BAI/CSI indices for BAM/CRAM files using samtools and pysam.
Works with
Categories
Compare cell-type composition and spatial features across conditions in IMC/MIBI cohorts with the patient as the experimental unit, covering pseudoreplication, per-patient aggregation, mixed models…. Bio Imaging Mass Cytometry Differential Analysis is an agent skill from GPTomics/bioSkills. Compare cell-type composition and spatial features across conditions in IMC/MIBI cohorts with the patient as the experimental unit, covering pseudoreplication, per-patient aggregation, mixed models, compositional (Dirichlet/scCODA) differential abundance, diffcyt, per-image-to-patient spatial differential testing (SpaceANOVA), batch covariates, and FDR.
Bio Imaging Mass Cytometry Differential Analysis fits situations like: testing whether a cell type; spatial niche differs between groups; avoiding cell-level pseudoreplication; choosing a differential-abundance method.
Run `npx skills add GPTomics/bioSkills --skill bio-imaging-mass-cytometry-differential-analysis -a claude-code`. Or copy the skill folder (imaging-mass-cytometry/differential-analysis in GPTomics/bioSkills) into .claude/skills/bio-imaging-mass-cytometry-differential-analysis in your project. Claude Code loads it when a task matches its description.
Run `npx skills add GPTomics/bioSkills --skill bio-imaging-mass-cytometry-differential-analysis -a codex`. Or copy the skill folder (imaging-mass-cytometry/differential-analysis in GPTomics/bioSkills) into .agents/skills/bio-imaging-mass-cytometry-differential-analysis in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add GPTomics/bioSkills --skill bio-imaging-mass-cytometry-differential-analysis -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/bio-imaging-mass-cytometry-differential-analysis, .gemini/skills/bio-imaging-mass-cytometry-differential-analysis, .github/skills/bio-imaging-mass-cytometry-differential-analysis and .opencode/skills/bio-imaging-mass-cytometry-differential-analysis in your project.
Going by SKILL.md and its folder, Bio Imaging Mass Cytometry Differential Analysis needs Python for the scripts in its folder and the command-line tools its instructions call (pip). Our summary lists: Python 3.
SKILL.md contains no URLs. Its commands use pip, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Bio Imaging Mass Cytometry Differential Analysis is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.5k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Bio Imaging Mass Cytometry Differential Analysis: Tooluniverse Epigenomics (wu-yc/LabClaw, 1.1k stars), Stata Python Translation (brycewang-stanford/Auto-Empirical-Research-Skills, 4.6k stars), Bio Proteomics Differential Abundance (FreedomIntelligence/OpenClaw-Medical-Skills, 3.1k stars) and Statistical Data Analysis (lingzhi227/agent-research-skills, 390 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
GPTomics (a GitHub organization) maintains it in GPTomics/bioSkills, which has 1,218 GitHub stars. The repository holds 559 skills in this directory. The repository was last updated on August 15, 2026.
Source: GPTomics/bioSkills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.