Gtars Genomic Interval Toolkit
davila7/claude-code-templates
Works with genomic intervals using gtars, a Rust toolkit with Python bindings: overlap detection, coverage tracks, tokenization for ML models and reference sequences.
Load and preprocess imaging mass cytometry (IMC) and MIBI data from raw MCD/TXT through hot-pixel removal, spillover compensation, and variance-stabilizing transformation, covering readimc/steinbock…
$ npx skills add GPTomics/bioSkills --skill bio-imaging-mass-cytometry-data-preprocessing -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install GPTomics/bioSkills bio-imaging-mass-cytometry-data-preprocessing --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/data-preprocessing .claude/skills/bio-imaging-mass-cytometry-data-preprocessing && 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-data-preprocessing" agent skill from https://github.com/GPTomics/bioSkills/tree/main/imaging-mass-cytometry/data-preprocessing into .claude/skills/bio-imaging-mass-cytometry-data-preprocessing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bio-imaging-mass-cytometry-data-preprocessing", 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/data-preprocessingType 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-data-preprocessing -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install GPTomics/bioSkills bio-imaging-mass-cytometry-data-preprocessing --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/data-preprocessing .agents/skills/bio-imaging-mass-cytometry-data-preprocessing && 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-data-preprocessing" agent skill from https://github.com/GPTomics/bioSkills/tree/main/imaging-mass-cytometry/data-preprocessing into .agents/skills/bio-imaging-mass-cytometry-data-preprocessing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bio-imaging-mass-cytometry-data-preprocessing", 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-data-preprocessing -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install GPTomics/bioSkills bio-imaging-mass-cytometry-data-preprocessing --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/data-preprocessing .cursor/skills/bio-imaging-mass-cytometry-data-preprocessing && 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-data-preprocessing" agent skill from https://github.com/GPTomics/bioSkills/tree/main/imaging-mass-cytometry/data-preprocessing into .cursor/skills/bio-imaging-mass-cytometry-data-preprocessing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bio-imaging-mass-cytometry-data-preprocessing", 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/data-preprocessing--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-data-preprocessing -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install GPTomics/bioSkills bio-imaging-mass-cytometry-data-preprocessing --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/data-preprocessing .gemini/skills/bio-imaging-mass-cytometry-data-preprocessing && 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-data-preprocessing" agent skill from https://github.com/GPTomics/bioSkills/tree/main/imaging-mass-cytometry/data-preprocessing into .gemini/skills/bio-imaging-mass-cytometry-data-preprocessing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bio-imaging-mass-cytometry-data-preprocessing", 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-data-preprocessingInstalls 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-data-preprocessing -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/data-preprocessing .github/skills/bio-imaging-mass-cytometry-data-preprocessing && 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-data-preprocessing" agent skill from https://github.com/GPTomics/bioSkills/tree/main/imaging-mass-cytometry/data-preprocessing into .github/skills/bio-imaging-mass-cytometry-data-preprocessing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bio-imaging-mass-cytometry-data-preprocessing", 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-data-preprocessing -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-data-preprocessing --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/data-preprocessing .opencode/skills/bio-imaging-mass-cytometry-data-preprocessing && 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-data-preprocessing" agent skill from https://github.com/GPTomics/bioSkills/tree/main/imaging-mass-cytometry/data-preprocessing into .opencode/skills/bio-imaging-mass-cytometry-data-preprocessing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bio-imaging-mass-cytometry-data-preprocessing", 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-data-preprocessingLoad and preprocess imaging mass cytometry (IMC) and MIBI data from raw MCD/TXT through hot-pixel removal, spillover compensation, and variance-stabilizing transformation, covering readimc/steinbock…
Bio Imaging Mass Cytometry Data Preprocessing is an agent skill from GPTomics/bioSkills. Load and preprocess imaging mass cytometry (IMC) and MIBI data from raw MCD/TXT through hot-pixel removal, spillover compensation, and variance-stabilizing transformation, covering readimc/steinbock ingestion, NNLS spillover compensation (CATALYST), IMC-Denoise, and the IMC arcsinh-cofactor question. Use when starting analysis from raw MCD files, building per-channel TIFF stacks, compensating channel spillover, choosing an arcsinh cofactor, or preparing single-cell intensities for phenotyping.
Its SKILL.md is about 4.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files (for example `examples/preprocess_imc.py` and `usage-guide.md`).
It sits in Research & Science, covering Machine learning and Bioinformatics. 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 Data Preprocessing loads about 4.2k tokens when it runs. Until then it costs about 136 tokens; SKILL.md has 1,721 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,721 words, ~4,154 tokens.
.claude/skills/bio-imaging-mass-cytometry-data-preprocessing/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: steinbock 0.16+, readimc 0.7+, numpy 1.26+, CATALYST 1.28+ (R/Bioconductor), cytomapper 1.16+ (R)
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 parameters<tool> --version then <tool> --help to confirm flagsIf 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: IMC pixels are integer ion COUNTS, not fluorescence intensities. CATALYST::compCytof defaults to method='nnls' (non-negativity preserved); pass cofactor=1 explicitly for IMC single-cell means (the compCytof default is NULL/5, the suspension value). The spillover-matrix and SCE channel names must both be (metal)(mass)Di (e.g. Sm152Di) or compensation silently no-ops. steinbock's hot-pixel filter is steinbock preprocess imc images --hpf 50 (a signed 8-neighbor difference, not a median filter).
"Preprocess my imaging mass cytometry data" -> Ingest raw acquisitions, suppress acquisition noise, compensate channel spillover, and variance-stabilize counts so each cell's measured intensity reflects real antigen abundance.
readimc.MCDFile, steinbock preprocess imc images --hpf 50CATALYST::compCytof, cytomapper::compImage for spillover compensationEvery IMC/MIBI pixel is an integer number of detected metal ions from one ~1 um laser shot, drawn from a low-count, zero-inflated, near-Poisson regime where most pixels read 0-2 counts and the limit of detection is ~6 counts. Four consequences govern every preprocessing decision, and importing fluorescence-microscopy habits violates all four. (1) There is no continuous Gaussian background to subtract -- the floor is a count floor, and a true-negative pixel still reads 1-2 counts by Poisson chance. (2) Negative values are physically meaningless, so flow-style spillover compensation (exact matrix inverse) is wrong because it manufactures negatives; non-negative least squares (NNLS) is mandatory (Chevrier 2018 Cell Syst 6:612). (3) Per-pixel "expression" is mostly shot noise -- signal emerges only after segmentation sums a cell's pixels, so pixel maps are for localization and QC, never quantification. (4) Spillover is SPATIAL: a bright cell bleeding into a neighboring mass channel contaminates adjacent pixels, fabricating co-localization and false marker positivity at cell borders -- which means uncompensated spillover manufactures the exact cell-cell interactions IMC exists to measure. The corollary that trips up suspension-CyTOF veterans: the arcsinh cofactor is NOT 5 (cofactor 1 is the modern IMC default, Hunter 2024 Cytometry A 105:36), and there are no in-stream calibration beads in ablated tissue.
read .mcd (readimc) -> panel filter+sort (keep column) -> hot-pixel removal (DIMR or --hpf 50)
-> [optional] DeepSNiF on low-SNR channels only -> spillover compensation (NNLS)
-> segmentation (on compensated nuclear/membrane channels) -> per-cell aggregation
-> arcsinh(cofactor 1) -> z-score / cohort-anchored normalizationOrder is not cosmetic: denoise operates on RAW counts (the Poisson noise model is defined there), compensate BEFORE segmentation when spatial fidelity matters (corrupted membrane channels yield wrong boundaries that no later step recovers), and transform/normalize LAST.
| Method | Targets | Risk | When to use | Fails when |
|---|---|---|---|---|
steinbock --hpf 50 | hot pixels | low | default fast hot-pixel pass | absolute-count threshold over-clips bright channels, under-cleans dim ones |
| IMC-Denoise DIMR (Lu 2023) | hot pixels | low | self-calibrating hot-pixel removal | misclassifies large multi-pixel hot-pixel clusters as signal |
| IMC-Denoise DeepSNiF (Lu 2023) | shot noise | HIGH | only channels with mean positive intensity < ~7 | over-smooths sparse/punctate markers and sub-1-2 um structure; biases extreme-low-count regions |
| 3x3 median filter | (do not use) | severe | never | returns 0 for isolated real single-positive pixels -- erases sparse biology |
| Scenario | Recommended | Why |
|---|---|---|
| Single-stain QC shows >~2% off-target spillover at relevant masses | Compensate (NNLS) before phenotyping | leak corrupts type calls and (spatially) neighborhood stats |
| Spatial neighborhood / interaction analysis is the endpoint | Pixel-level compensation (compImage) before segmentation | spillover is spatial and fakes interactions; cell-mean compensation comes too late |
| Means-only phenotyping, segmentation channels uncontaminated | Cell-level compCytof on SCE means | cheaper, less per-pixel Poisson noise |
| Channel driven above ~5,000 dual counts | Re-titrate at acquisition; do not compensate | linearity (and thus the matrix) breaks above saturation |
| Panel pre-designed to avoid bright/dim mass adjacencies, QC near-clean | Compensation ~ identity; skipping is defensible | avoids NNLS noise on near-zero pixels |
| Channel mean positive intensity < ~7, cannot phenotype on it | DIMR + DeepSNiF | shot noise dominates; denoising is the only way to use it |
| Channel clean, or punctate, or the one segmentation runs on | DIMR / --hpf only; skip DeepSNiF | DeepSNiF over-smooths real isolated signal and blurs boundaries |
Goal: Ingest the multi-ROI MCD (the canonical source) and keep the metal-to-target panel mapping intact.
Approach: Open the MCD with readimc, iterate slides and acquisitions, and carry both channel_names (metals) and channel_labels (targets) -- conflating them is the most common ingestion bug. Prefer MCD over TXT (one ROI per file, and absent on Hyperion XTi).
from readimc import MCDFile
with MCDFile('slide.mcd') as f:
slide = f.slides[0]
for acq in slide.acquisitions:
img = f.read_acquisition(acq) # (channels, y, x) float32 ion counts
metals = acq.channel_names # e.g. 'Sm152' -- the mass channel
targets = acq.channel_labels # e.g. 'CD3' -- the antibody target
print(acq.id, img.shape, dict(zip(metals, targets)))Goal: Build per-channel TIFF stacks, filtered to the analysis panel and de-spiked.
Approach: The panel CSV is both a filter and a sort key -- only keep==1 rows are written and their row order defines channel order in the stack, so it must be pinned as a versioned artifact. The --hpf filter compares each pixel to its 8 neighbors with a signed difference and replaces spikes with the neighbor maximum (a conservative, valley-preserving operation), not a median.
# generate the panel template (edit the keep column before extracting)
steinbock preprocess imc panel
# extract TIFFs (keep-filtered, panel-ordered) with hot-pixel removal; 50 is a count
# difference, not a universal constant -- raise it for high-dynamic-range markers
steinbock preprocess imc images --hpf 50Goal: Remove channel crosstalk (oxide M+16, abundance-sensitivity M+-1, isotopic impurity) without introducing negative counts.
Approach: Estimate the spillover matrix from single-stain controls per positive EVENT then take the median (population-summary estimation overcompensates because IMC's zero background biases ratios), then apply NNLS. Compensate pixels (compImage) before segmentation for spatial work, or cell means (compCytof) after segmentation otherwise. Channel names must be (metal)(mass)Di.
library(CATALYST)
library(imcRtools)
# estimate the matrix from spotted single-stain TXTs (filenames carry the metal)
sce <- readSCEfromTXT('spillover/')
sce <- prepData(sce, transform = TRUE, cofactor = 5) # cofactor 5 for PIXEL spot data
sce <- assignPrelim(sce); sce <- estCutoffs(sce); sce <- applyCutoffs(sce)
sm <- computeSpillmat(sce) # the spillover matrix
# cell-level compensation on segmented single-cell means (NNLS is the default)
sce_cells <- compCytof(sce_cells, sm, method = 'nnls', cofactor = 1, overwrite = FALSE)# OR pixel-level compensation on the image stack, before segmentation (spatial fidelity)
library(cytomapper)
images <- compImage(images, adaptSpillmat(sm, channelNames(images)))Goal: Variance-stabilize counts and remove batch offset without destroying cross-sample comparability.
Approach: Apply arcsinh with cofactor 1 on single-cell means (the OPTIMAL-derived IMC default, not the suspension-CyTOF 5), then z-score per channel against cohort-wide statistics. Per-image percentile or min-max scaling is a one-way door that makes equal biology look unequal across samples -- reserve it for visualization and always retain raw/compensated counts.
import numpy as np
def arcsinh_cofactor1(cell_means):
# cofactor 1 for IMC single-cell means (Hunter 2024); state the cofactor explicitly --
# no field-wide standard exists, so reproducibility requires reporting it
return np.arcsinh(cell_means / 1.0)
def zscore_per_channel(expr, mean, std):
# mean/std computed COHORT-WIDE (not per-image) so scales stay comparable across samples
return (expr - mean) / stdTrigger: exact matrix inversion (method='flow' or generic linear unmixing). Mechanism: the inverse violates non-negativity and produces negative ion counts. Symptom: negative compensated values, downstream stats corrupted. Fix: compCytof(..., method='nnls') (the default); negatives are a solver artifact, not evidence compensation is wrong.
Trigger: SCE channel names are Sm152 but the spillover matrix uses Sm152Di (or vice versa). Mechanism: name-based mapping finds no match. Symptom: compensation runs without error but changes nothing. Fix: enforce (metal)(mass)Di; reconcile with adaptSpillmat().
Trigger: blanket denoising "to clean things up." Mechanism: the Hessian continuity prior imposes spatial smoothness on genuinely sparse/punctate markers. Symptom: rare-population or punctate signal blurred into neighbors; biased low-count regions. Fix: denoise only channels with mean positive intensity < ~7; validate against the un-denoised image; never denoise the segmentation channel without checking boundary integrity.
Trigger: independent per-image 99th-percentile or min-max scaling, then comparing samples. Mechanism: image A's 99th percentile (40 counts) and image B's (400 counts) map to the same [0,1]. Symptom: a dim positive in A reads like a bright positive in B; differential abundance is spurious. Fix: derive normalization from cohort-wide statistics or a shared anchor; keep raw counts to re-derive.
Trigger: ndimage.median_filter on the count image. Mechanism: a 3x3 median over sparse single-positive pixels returns 0. Symptom: real isolated membrane/punctate signal erased. Fix: use the neighbor-spike filter (--hpf) or DIMR; never blanket-median IMC.
Trigger: applying this steinbock/CATALYST flow to MIBI-TOF data as if it were IMC. Mechanism: MIBI is SIMS on Au/Ta conductive slides, so it carries a 197Au slide background and crosstalk classes the CATALYST single-stain-bead model does not target. Symptom: gold-background contamination and uncorrected MIBI crosstalk. Fix: remove the Au/native-background channels and run MAUI (Baranski 2021) before this pipeline; treat the CATALYST spillover step as IMC-specific.
| Threshold | Source | Rationale |
|---|---|---|
| arcsinh cofactor 1 (single-cell means) | Hunter 2024 Cytometry A 105:36 | maximizes positive/negative separation (Fisher ratio) for IMC counts; 5 over-compresses |
| arcsinh cofactor 5 (pixel/spot data) | CATALYST IMC workflow | pixel spot counts are higher-scale than cell means |
| Linearity ceiling ~5,000 dual counts | Chevrier 2018 Cell Syst 6:612 | above it count->abundance bends and the spillover matrix is invalid |
--hpf 50 (count difference) | steinbock convention | a per-experiment heuristic, not a universal constant -- tune to dynamic range |
| DeepSNiF only if mean positive intensity < ~7 | Lu 2023 Nat Commun 14:1601 | above ~7 the channel is effectively noise-immune; denoising is pure risk |
| Detection limit ~6 ion counts | Lu 2023 Nat Commun 14:1601 | below this, signal and shot noise are indistinguishable per pixel |
| Error / symptom | Cause | Solution |
|---|---|---|
compCytof runs but values unchanged | channel-name format mismatch | enforce Sm152Di; adaptSpillmat() |
| Negative compensated counts | flow-style inversion | use method='nnls' |
| "Channel 12 is a different antibody for collaborators" | panel keep/order changed after segmentation | pin panel.csv as a versioned artifact; never reorder post-segmentation |
| Rare population vanished after denoising | DeepSNiF on a sparse channel | restrict DeepSNiF to low-SNR non-punctate channels |
| TXT loads only one ROI | analyzing TXT instead of MCD | ingest the multi-ROI .mcd with readimc |
| Cross-sample differences disappear or explode | per-image normalization | cohort-anchored normalization; keep raw counts |
© 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/data-preprocessing 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 Data Preprocessing 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 Data Preprocessing this skillGPTomics/bioSkills | 1.2k | 1 repos | ~4.2k | Automated safety check: Pass | MIT | |
| Gtars Genomic Interval Toolkitdavila7/claude-code-templates | 32k | 12 repos | ~1.9k | Automated safety check: Pass | MIT | |
| External Model Validationaipoch/medical-research-skills | 2k | — | ~3.2k | Automated safety check: Pass | MIT | |
| Popv Cell Annotationjaechang-hits/SciAgent-Skills | 370 | 2 repos | ~6.9k | Automated safety check: Pass | BSD-3-Clause | |
| Dual Disease Transcriptomic ML Planneraipoch/medical-research-skills | 2k | — | ~3.7k | Automated safety check: Pass | MIT | |
| Arboreto Grn Inferencejaechang-hits/SciAgent-Skills | 370 | 2 repos | ~5.3k | Automated safety check: Pass | BSD-3-Clause |
davila7/claude-code-templates
Works with genomic intervals using gtars, a Rust toolkit with Python bindings: overlap detection, coverage tracks, tokenization for ML models and reference sequences.
aipoch/medical-research-skills
A skill your agent uses when validating an existing prognostic risk signature on an external bulk expression cohort with survival outcomes, producing risk scores, Kaplan-Meier curves, risk…
jaechang-hits/SciAgent-Skills
Consensus cell type annotation: runs 10+ algorithms (KNN-Harmony/BBKNN/Scanorama/scVI, CellTypist, ONCLASS, Random Forest, SCANVI, SVM, XGBoost) on a labeled reference and transfers labels via…
aipoch/medical-research-skills
Generates complete dual-disease transcriptomic + machine learning research designs from a user-provided disease pair.
jaechang-hits/SciAgent-Skills
GRN inference from expression via GRNBoost2 (gradient boosting) or GENIE3 (Random Forest).
aipoch/medical-research-skills
Generates complete phenotype-scoring bioinformatics research designs for any disease context and any user-defined phenotype, pathway, process, signature, or molecular program.
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
Create and use BAI/CSI indices for BAM/CRAM files using samtools and pysam.
GPTomics/bioSkills
Sort alignment files by coordinate or read name using samtools and pysam.
Categories
Load and preprocess imaging mass cytometry (IMC) and MIBI data from raw MCD/TXT through hot-pixel removal, spillover compensation, and variance-stabilizing transformation, covering readimc/steinbock…. Bio Imaging Mass Cytometry Data Preprocessing is an agent skill from GPTomics/bioSkills. Load and preprocess imaging mass cytometry (IMC) and MIBI data from raw MCD/TXT through hot-pixel removal, spillover compensation, and variance-stabilizing transformation, covering readimc/steinbock ingestion, NNLS spillover compensation (CATALYST), IMC-Denoise, and the IMC arcsinh-cofactor question.
Bio Imaging Mass Cytometry Data Preprocessing fits situations like: starting analysis from raw MCD files; building per-channel TIFF stacks; compensating channel spillover; choosing an arcsinh cofactor.
Run `npx skills add GPTomics/bioSkills --skill bio-imaging-mass-cytometry-data-preprocessing -a claude-code`. Or copy the skill folder (imaging-mass-cytometry/data-preprocessing in GPTomics/bioSkills) into .claude/skills/bio-imaging-mass-cytometry-data-preprocessing in your project. Claude Code loads it when a task matches its description.
Run `npx skills add GPTomics/bioSkills --skill bio-imaging-mass-cytometry-data-preprocessing -a codex`. Or copy the skill folder (imaging-mass-cytometry/data-preprocessing in GPTomics/bioSkills) into .agents/skills/bio-imaging-mass-cytometry-data-preprocessing 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-data-preprocessing -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-data-preprocessing, .gemini/skills/bio-imaging-mass-cytometry-data-preprocessing, .github/skills/bio-imaging-mass-cytometry-data-preprocessing and .opencode/skills/bio-imaging-mass-cytometry-data-preprocessing in your project.
Going by SKILL.md and its folder, Bio Imaging Mass Cytometry Data Preprocessing 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 Data Preprocessing is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.2k tokens (SKILL.md is roughly 17k 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 Data Preprocessing: Gtars Genomic Interval Toolkit (davila7/claude-code-templates, 32k stars), External Model Validation (aipoch/medical-research-skills, 2k stars), Popv Cell Annotation (jaechang-hits/SciAgent-Skills, 370 stars) and Dual Disease Transcriptomic ML Planner (aipoch/medical-research-skills, 2k 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,215 GitHub stars. The repository holds 552 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.