PyDESeq2 Differential Expression
davila7/claude-code-templates
Runs differential gene expression analysis on bulk RNA-seq counts with PyDESeq2: design formulas, Wald tests, FDR correction and volcano or MA plots.
Load when computing two-group differential protein abundance (group2 vs group1, log2FC + p-value + BH-adjusted FDR) via Welch t-test, equal-variance t-test, or Mann-Whitney on a wide protein ×…
$ npx skills add TianGzlab/OmicsClaw --skill proteomics-de -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install TianGzlab/OmicsClaw proteomics-de --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/TianGzlab/OmicsClaw.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/proteomics/proteomics-de .claude/skills/proteomics-de && 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 "proteomics-de" agent skill from https://github.com/TianGzlab/OmicsClaw/tree/main/skills/proteomics/proteomics-de into .claude/skills/proteomics-de/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "proteomics-de", 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/TianGzlab/OmicsClaw/tree/main/skills/proteomics/proteomics-deType 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 TianGzlab/OmicsClaw --skill proteomics-de -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install TianGzlab/OmicsClaw proteomics-de --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/TianGzlab/OmicsClaw.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/proteomics/proteomics-de .agents/skills/proteomics-de && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "proteomics-de" agent skill from https://github.com/TianGzlab/OmicsClaw/tree/main/skills/proteomics/proteomics-de into .agents/skills/proteomics-de/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "proteomics-de", 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 TianGzlab/OmicsClaw --skill proteomics-de -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install TianGzlab/OmicsClaw proteomics-de --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/TianGzlab/OmicsClaw.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/proteomics/proteomics-de .cursor/skills/proteomics-de && 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 "proteomics-de" agent skill from https://github.com/TianGzlab/OmicsClaw/tree/main/skills/proteomics/proteomics-de into .cursor/skills/proteomics-de/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "proteomics-de", 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/TianGzlab/OmicsClaw.git --path skills/proteomics/proteomics-de--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 TianGzlab/OmicsClaw --skill proteomics-de -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install TianGzlab/OmicsClaw proteomics-de --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/TianGzlab/OmicsClaw.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/proteomics/proteomics-de .gemini/skills/proteomics-de && 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 "proteomics-de" agent skill from https://github.com/TianGzlab/OmicsClaw/tree/main/skills/proteomics/proteomics-de into .gemini/skills/proteomics-de/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "proteomics-de", 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 TianGzlab/OmicsClaw proteomics-deInstalls 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 TianGzlab/OmicsClaw --skill proteomics-de -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/TianGzlab/OmicsClaw.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/proteomics/proteomics-de .github/skills/proteomics-de && 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 "proteomics-de" agent skill from https://github.com/TianGzlab/OmicsClaw/tree/main/skills/proteomics/proteomics-de into .github/skills/proteomics-de/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "proteomics-de", 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 TianGzlab/OmicsClaw --skill proteomics-de -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install TianGzlab/OmicsClaw proteomics-de --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/TianGzlab/OmicsClaw.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/proteomics/proteomics-de .opencode/skills/proteomics-de && 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 "proteomics-de" agent skill from https://github.com/TianGzlab/OmicsClaw/tree/main/skills/proteomics/proteomics-de into .opencode/skills/proteomics-de/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "proteomics-de", 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.
proteomics-deLoad when computing two-group differential protein abundance (group2 vs group1, log2FC + p-value + BH-adjusted FDR) via Welch t-test, equal-variance t-test, or Mann-Whitney on a wide protein ×…
Proteomics De is an agent skill from TianGzlab/OmicsClaw. Load when computing two-group differential protein abundance (group2 vs group1, log2FC + p-value + BH-adjusted FDR) via Welch t-test, equal-variance t-test, or Mann-Whitney on a wide protein × sample CSV. Skip when you need multi-condition DE (run pairwise contrasts manually); label-based TMT linear-mixed models.
Its SKILL.md is about 1.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 10 other files, including reference files (for example `_api.py`, `examples/example_step.py` and `proteomics_de.py`).
It sits in Research & Science, covering Bioinformatics and Statistics. The repository describes itself as: Conversational & memory-enabled AI research partner for multi-omics analysis. CLI + Desktop App (installers in Releases). From biological idea to full research paper. The licence is Apache-2.0.
Read from SKILL.md and the folder at commit 90a3bec. 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:
pythonFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
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.
Proteomics De loads about 1.2k tokens when it runs, and up to ~1.4k if it reads all its reference files. Until then it costs about 82 tokens; SKILL.md has 469 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 TianGzlab/OmicsClaw at commit 90a3bec, republished under its Apache-2.0 licence (© TianGzlab). 469 words, ~1,195 tokens.
.claude/skills/proteomics-de/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.ttest is the CLI default; welch and mann_whitney are alternatives. Groups default to the first and second half of columns. Use existing search-engine tables; this skill does not search raw spectra.
from skills._sdk.notebook import load_skill, write_output
library = load_skill('proteomics-de')
data = library.demo_data(random_state=42)
result = library.differential_abundance(data)
write_output(result, 'tables/differential_abundance.csv')For real data, use read_input and pass any read_table helper as reader=.
The executable examples/example_step.py also checks the result and writes a Figure.
<!-- api:begin generated from _api.py; regenerate with run.py api <skill dir> --write -->
differential_abundance(data: pd.DataFrame, *, group1: list | None=None, group2: list | None=None, method: str='ttest') -> pd.DataFrameCompare groups and return a new table with group2-minus-group1 log2 fold changes.
:param data: Protein-indexed, sample-column linear intensities; nonpositive values are missing. :param group1: First group columns; None uses the first half as in the CLI. :param group2: Second group columns; None uses the second half as in the CLI. :param method: CLI default ttest; welch uses unequal variance and mann_whitney tests ranks. :returns: Per-protein statistics and BH-adjusted p values. :raises ValueError: Groups overlap, are empty, or the protein index is not unique.
significant(results: pd.DataFrame, *, alpha: float=0.05, log2fc_threshold: float=0.0) -> pd.DataFrameSelect significant proteins from an existing comparison.
:param results: Differential abundance results with padj and log2fc. :param alpha: CLI default 0.05; strict upper bound on BH-adjusted p values. :param log2fc_threshold: CLI default 0 disables the absolute fold-change filter. :returns: A new table retaining selected rows. :raises ValueError: Thresholds are outside their allowed ranges.
run_info(table: pd.DataFrame, *, keep: bool=True) -> dictRead comparison diagnostics.
:param table: Output of differential_abundance. :param keep: True preserves attrs; False removes diagnostics. :returns: A separate diagnostic dictionary. :raises TypeError: The input is not a DataFrame.
volcano_figure(results: pd.DataFrame)Plot log2 fold change against adjusted significance.
:param results: Differential abundance results. :returns: A matplotlib Figure without writing files. :raises KeyError: log2fc or padj is absent.
demo_data(*, random_state: int=42) -> pd.DataFrameGenerate synthetic intensities with two ordered groups.
:param random_state: CLI seed 42; change for another simulation. :returns: Protein rows and five control then five treatment columns. :raises ValueError: The seed is invalid.
<!-- api:end -->
ttest is the CLI default; welch and mann_whitney are alternatives. Groups default to the first and second half of columns.
Functions return new DataFrames. run_info(result) reads diagnostic attrs;
use keep=False before serialization when those attrs are not needed.
demo_data uses seed 42, matching the CLI; every demo is synthetic.run_info lives in DataFrame attrs and is not preserved by CSV serialization.The CLI reads CSV tables and writes:
reproducibility/commands.sh records the CLI invocation template.Functions return data and Figures without writing files. Steps own their outputs. Demo mode also writes its synthetic input when the original CLI used a file.
python skills/proteomics/proteomics-de/proteomics_de.py --demo --output /tmp/proteomics_deFor real input replace --demo with --input <table>.
references/methodology.mdreferences/parameters.mdreferences/output_contract.mdproteomics-data-import for protein-table normalization; proteomics-de for comparisons.numpy, pandas, matplotlib, scipy
© TianGzlab, Apache-2.0. 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 7 other files (references) in skills/proteomics/proteomics-de of TianGzlab/OmicsClaw.
Open the folder on GitHubat commit 90a3bec
Proteomics De 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 |
|---|---|---|---|---|---|---|
| Proteomics De this skillTianGzlab/OmicsClaw | 161 | — | ~1.2k | Automated safety check: Pass | Apache-2.0 | |
| PyDESeq2 Differential Expressiondavila7/claude-code-templates | 32k | 12 repos | ~4k | Automated safety check: Pass | MIT | |
| Ukb Ppp Region FetchClawBio/ClawBio | 1.2k | — | ~4.6k | Automated safety check: Pass | MIT | |
| Volcano Plot Scriptaipoch/medical-research-skills | 2k | — | ~2.5k | Automated safety check: Pass | MIT | |
| Tooluniverse Epigenomicswu-yc/LabClaw | 1.1k | 2 repos | ~14k | Automated safety check: Pass | None | |
| Tooluniverse Metabolomics Analysiswu-yc/LabClaw | 1.1k | 2 repos | ~5.9k | Automated safety check: Pass | None |
davila7/claude-code-templates
Runs differential gene expression analysis on bulk RNA-seq counts with PyDESeq2: design formulas, Wald tests, FDR correction and volcano or MA plots.
ClawBio/ClawBio
Fetch a regional slice of plasma pQTL summary statistics from the UK Biobank Pharma Proteomics Project (UKB-PPP; Sun 2023 Nature) for a specific (protein, ancestry) measurement.
aipoch/medical-research-skills
Generate R/Python code for volcano plots from DEG (Differentially Expressed Genes) analysis results.
wu-yc/LabClaw
Production-ready genomics and epigenomics data processing for BixBench questions.
wu-yc/LabClaw
Analyze metabolomics data including metabolite identification, quantification, pathway analysis, and metabolic flux.
GPTomics/bioSkills
Computes linkage disequilibrium (r2, D', composite Rogers-Huff r2), prunes correlated variants, clumps GWAS summary statistics to lead SNPs, and defines haplotype blocks with PLINK 1.9/2.0 and…
TianGzlab/OmicsClaw
Load when comparing gene expression between two conditions in bulk RNA-seq count data.
TianGzlab/OmicsClaw
Load when the user needs Deterministic fixed-period 24-hour single-component cosinor OLS rhythm analysis for a bulk RNA time-course CSV.
TianGzlab/OmicsClaw
Load when checking a bulk RNA-seq count matrix for library-size outliers, gene detection rates, and sample-sample correlation before DE.
TianGzlab/OmicsClaw
Load when checking raw single-cell FASTQ read quality (Phred / GC / adapter / length) before counting.
TianGzlab/OmicsClaw
Load when removing low-quality cells and lowly-detected genes from a single-cell AnnData using QC-derived thresholds or tissue presets.
TianGzlab/OmicsClaw
Load when ranking cluster-level marker genes from a clustered single-cell AnnData via Scanpy Wilcoxon / t-test / logreg or COSG specificity.
Categories
Load when computing two-group differential protein abundance (group2 vs group1, log2FC + p-value + BH-adjusted FDR) via Welch t-test, equal-variance t-test, or Mann-Whitney on a wide protein ×…. Proteomics De is an agent skill from TianGzlab/OmicsClaw. Load when computing two-group differential protein abundance (group2 vs group1, log2FC + p-value + BH-adjusted FDR) via Welch t-test, equal-variance t-test, or Mann-Whitney on a wide protein × sample CSV.
Proteomics De fits situations like: tasks that involve Bioinformatics; tasks that involve Statistics.
Run `npx skills add TianGzlab/OmicsClaw --skill proteomics-de -a claude-code`. Or copy the skill folder (skills/proteomics/proteomics-de in TianGzlab/OmicsClaw) into .claude/skills/proteomics-de in your project. Claude Code loads it when a task matches its description.
Run `npx skills add TianGzlab/OmicsClaw --skill proteomics-de -a codex`. Or copy the skill folder (skills/proteomics/proteomics-de in TianGzlab/OmicsClaw) into .agents/skills/proteomics-de 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 TianGzlab/OmicsClaw --skill proteomics-de -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/proteomics-de, .gemini/skills/proteomics-de, .github/skills/proteomics-de and .opencode/skills/proteomics-de in your project.
Going by SKILL.md and its folder, Proteomics De needs Python for the scripts in its folder and the command-line tools its instructions call (python). Our summary lists: Python 3.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. 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.
Proteomics De is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.2k tokens (SKILL.md is roughly 4.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 223 tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Proteomics De: PyDESeq2 Differential Expression (davila7/claude-code-templates, 32k stars), Ukb Ppp Region Fetch (ClawBio/ClawBio, 1.2k stars), Volcano Plot Script (aipoch/medical-research-skills, 2k stars) and Tooluniverse Epigenomics (wu-yc/LabClaw, 1.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
TianGzlab (a GitHub organization) maintains it in TianGzlab/OmicsClaw, which has 161 GitHub stars. The repository holds 88 skills in this directory. The repository was last updated on October 7, 2026.
Source: TianGzlab/OmicsClaw on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.