Scanpy Single-Cell Analysis
davila7/claude-code-templates
Walks through single-cell RNA-seq analysis with Scanpy: loading .h5ad and 10X data, QC, normalization, PCA and UMAP, Leiden clustering, marker genes and cell type annotation.
Load when querying STRING for the protein-protein interaction neighborhood of a bulk RNA-seq DEG list and finding hub genes.
$ npx skills add TianGzlab/OmicsClaw --skill bulkrna-ppi-network -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install TianGzlab/OmicsClaw bulkrna-ppi-network --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/bulkrna/bulkrna-ppi-network .claude/skills/bulkrna-ppi-network && 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 "bulkrna-ppi-network" agent skill from https://github.com/TianGzlab/OmicsClaw/tree/main/skills/bulkrna/bulkrna-ppi-network into .claude/skills/bulkrna-ppi-network/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bulkrna-ppi-network", 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/bulkrna/bulkrna-ppi-networkType 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 bulkrna-ppi-network -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install TianGzlab/OmicsClaw bulkrna-ppi-network --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/bulkrna/bulkrna-ppi-network .agents/skills/bulkrna-ppi-network && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "bulkrna-ppi-network" agent skill from https://github.com/TianGzlab/OmicsClaw/tree/main/skills/bulkrna/bulkrna-ppi-network into .agents/skills/bulkrna-ppi-network/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bulkrna-ppi-network", 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 bulkrna-ppi-network -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install TianGzlab/OmicsClaw bulkrna-ppi-network --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/bulkrna/bulkrna-ppi-network .cursor/skills/bulkrna-ppi-network && 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 "bulkrna-ppi-network" agent skill from https://github.com/TianGzlab/OmicsClaw/tree/main/skills/bulkrna/bulkrna-ppi-network into .cursor/skills/bulkrna-ppi-network/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bulkrna-ppi-network", 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/bulkrna/bulkrna-ppi-network--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 bulkrna-ppi-network -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install TianGzlab/OmicsClaw bulkrna-ppi-network --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/bulkrna/bulkrna-ppi-network .gemini/skills/bulkrna-ppi-network && 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 "bulkrna-ppi-network" agent skill from https://github.com/TianGzlab/OmicsClaw/tree/main/skills/bulkrna/bulkrna-ppi-network into .gemini/skills/bulkrna-ppi-network/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bulkrna-ppi-network", 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 bulkrna-ppi-networkInstalls 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 bulkrna-ppi-network -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/bulkrna/bulkrna-ppi-network .github/skills/bulkrna-ppi-network && 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 "bulkrna-ppi-network" agent skill from https://github.com/TianGzlab/OmicsClaw/tree/main/skills/bulkrna/bulkrna-ppi-network into .github/skills/bulkrna-ppi-network/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bulkrna-ppi-network", 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 bulkrna-ppi-network -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 bulkrna-ppi-network --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/bulkrna/bulkrna-ppi-network .opencode/skills/bulkrna-ppi-network && 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 "bulkrna-ppi-network" agent skill from https://github.com/TianGzlab/OmicsClaw/tree/main/skills/bulkrna/bulkrna-ppi-network into .opencode/skills/bulkrna-ppi-network/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bulkrna-ppi-network", 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.
bulkrna-ppi-networkLoad when querying STRING for the protein-protein interaction neighborhood of a bulk RNA-seq DEG list and finding hub genes.
Bulkrna Ppi Network is an agent skill from TianGzlab/OmicsClaw. Load when querying STRING for the protein-protein interaction neighborhood of a bulk RNA-seq DEG list and finding hub genes. Skip when pathway enrichment of the same list (use bulkrna-enrichment); de novo co-expression network discovery (use bulkrna-coexpression).
Its SKILL.md is about 1.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 14 other files, including reference files (for example `_api.py`, `bulkrna_ppi_network.py` and `data/README.md`).
It sits in Research & Science, covering Bioinformatics. 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.
Bulkrna Ppi Network loads about 1.2k tokens when it runs, and up to ~1.6k if it reads all its reference files. Until then it costs about 71 tokens; SKILL.md has 476 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). 476 words, ~1,240 tokens.
.claude/skills/bulkrna-ppi-network/SKILL.md (or your agent's skills folder). This skill also uses 10 other files; get the full folder from GitHub.Analyze a PPI subgraph and rank hub genes from explicit interaction tables. Use bulkrna-coexpression for expression-derived networks and bulkrna-enrichment for pathways.
import pandas as pd
from skills._sdk.notebook import load_skill, read_input, write_output
library = load_skill('bulkrna-ppi-network')
data = read_input('edges.csv', reader=pd.read_csv)
result = library.analyze(data)
write_output(result, 'tables/result.csv')examples/example_step.py runs offline and supports fresh-kernel replay. Pure computations return objects; CLI and steps own writes.
<!-- api:begin generated from _api.py; regenerate with run.py api <skill dir> --write -->
analyze(data, *, genes=None, induced=False)Rank query nodes using the CLI's unweighted neighborhood convention.
:param data: Interaction DataFrame with gene_a, gene_b and score columns; scores do not weight centrality. :param genes: Optional gene list including isolates; None uses all edge endpoints. :param induced: Default False preserves external neighbors in degree/closeness; True restricts edges to genes. :returns: A node-centrality DataFrame with degree, betweenness, closeness and hub_score. :raises ValueError: Edge columns or the node list are invalid.
fetch_interactions(data, *, species=9606, score_threshold=400)Query STRING explicitly; unavailable or malformed responses raise.
:param data: Gene identifiers sent to the public STRING service. :param species: CLI default 9606 (human); NCBI taxonomy identifier. :param score_threshold: CLI default 400; integer confidence cutoff from 0 to 1000. :returns: A DataFrame with gene_a, gene_b and scores on STRING's 0 to 1 scale. :raises ImportError: Install requests with install_skill_deps if unavailable. :raises ValueError: Parameters or response columns are invalid. :raises Exception: Network and HTTP failures propagate without demo fallback.
run_info(data, *, keep=True)Read topology diagnostics attached to the node table.
:param data: Centrality DataFrame returned by analyze. :param keep: Default True; the CLI removes diagnostics with False. :returns: An independent summary dictionary. :raises TypeError: data is not a DataFrame.
network_figure(data, *, genes=None, random_state=42)Draw a seeded spring layout without changing numpy's global random state.
:param data: Edge DataFrame accepted by analyze. :param genes: Optional gene list including isolates; None uses edge endpoints. :param random_state: CLI default 42; spring-layout initialization seed. :returns: A matplotlib Figure. :raises ValueError: Edges or node list are invalid.
hubs_figure(data, *, top_n=20)Plot the highest-ranked hub scores.
:param data: Centrality table returned by analyze. :param top_n: CLI default 20; maximum number of nodes shown. :returns: A matplotlib Figure. :raises KeyError: gene or hub_score is absent.
<!-- api:end -->
fetch_interactions explicitly queries STRING with a 0 to 1000 confidence threshold and returns 0 to 1 scores. analyze uses an unweighted graph and includes provided isolates. Hub scores combine normalized degree and betweenness. The CLI demo reads the fixed 364-edge STRING table described in data/README.md; it does not contact STRING.
--demo accepts only species 9606 because data/demo_string_edges.csv contains human interactions; other species require a real query.fetch_interactions propagates HTTP/network errors and never substitutes demo edges. analyze defaults to the CLI neighborhood convention: degree includes external neighbors, closeness visits them, and betweenness is restricted to query nodes. Use induced=True to restrict all edges to the query set. network_figure draws query nodes only and uses seed 42 without changing the global random generator.tables/hub_genes.csv, tables/interaction_edges.csv, tables/node_centrality.csv, figures/hub_genes_barplot.png, figures/ppi_network.png, report.md, result.json and reproducibility/commands.sh.
python skills/bulkrna/bulkrna-ppi-network/bulkrna_ppi_network.py --demo --output /tmp/bulkrna_ppi_networknumpy, pandas, matplotlib, requests
© 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 10 other files (references) in skills/bulkrna/bulkrna-ppi-network of TianGzlab/OmicsClaw.
Open the folder on GitHubat commit 90a3bec
Bulkrna Ppi Network 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 |
|---|---|---|---|---|---|---|
| Bulkrna Ppi Network this skillTianGzlab/OmicsClaw | 161 | — | ~1.2k | Automated safety check: Pass | Apache-2.0 | |
| Scanpy Single-Cell Analysisdavila7/claude-code-templates | 32k | 15 repos | ~2.8k | Automated safety check: Pass | MIT | |
| deepTools NGS Toolkitdavila7/claude-code-templates | 32k | 12 repos | ~4.5k | Automated safety check: Pass | MIT | |
| LaminDB Biological Data Managementdavila7/claude-code-templates | 32k | 12 repos | ~3.6k | Automated safety check: Pass | MIT | |
| PyDESeq2 Differential Expressiondavila7/claude-code-templates | 32k | 11 repos | ~4k | Automated safety check: Pass | MIT | |
| Gtars Genomic Interval Toolkitdavila7/claude-code-templates | 32k | 11 repos | ~1.9k | Automated safety check: Pass | MIT |
davila7/claude-code-templates
Walks through single-cell RNA-seq analysis with Scanpy: loading .h5ad and 10X data, QC, normalization, PCA and UMAP, Leiden clustering, marker genes and cell type annotation.
davila7/claude-code-templates
Guides use of deepTools on sequencing data: BAM to bigWig conversion, QC, sample correlation, and heatmaps or profiles around TSS and peaks for ChIP-seq, RNA-seq and ATAC-seq.
davila7/claude-code-templates
Manages biological datasets with LaminDB: versioned artifacts, run lineage, ontology-based annotation, schema validation and links to workflow managers and ML tools.
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.
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.
LigphiDonk/Oh-my--paper
Runs a seven-step quality-control and exploration pipeline on scRNA-seq, CyTOF or flow cytometry data and writes a plain-language report of what it found.
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 correcting batch effects in bulk expression using R sva ComBat or the legacy Python parametric approximation.
TianGzlab/OmicsClaw
Load when discovering bulk gene co-expression modules and hub genes with R WGCNA.
TianGzlab/OmicsClaw
Load when comparing gene expression between two conditions in bulk RNA-seq count data.
TianGzlab/OmicsClaw
Load when estimating cell-type proportions in bulk RNA-seq samples from a single-cell or signature-matrix reference.
TianGzlab/OmicsClaw
Load when running pathway / GO term enrichment on a bulk RNA-seq DE result list.
Categories
Load when querying STRING for the protein-protein interaction neighborhood of a bulk RNA-seq DEG list and finding hub genes. Bulkrna Ppi Network is an agent skill from TianGzlab/OmicsClaw. Load when querying STRING for the protein-protein interaction neighborhood of a bulk RNA-seq DEG list and finding hub genes.
Bulkrna Ppi Network fits situations like: tasks that involve Bioinformatics.
Run `npx skills add TianGzlab/OmicsClaw --skill bulkrna-ppi-network -a claude-code`. Or copy the skill folder (skills/bulkrna/bulkrna-ppi-network in TianGzlab/OmicsClaw) into .claude/skills/bulkrna-ppi-network in your project. Claude Code loads it when a task matches its description.
Run `npx skills add TianGzlab/OmicsClaw --skill bulkrna-ppi-network -a codex`. Or copy the skill folder (skills/bulkrna/bulkrna-ppi-network in TianGzlab/OmicsClaw) into .agents/skills/bulkrna-ppi-network 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 bulkrna-ppi-network -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/bulkrna-ppi-network, .gemini/skills/bulkrna-ppi-network, .github/skills/bulkrna-ppi-network and .opencode/skills/bulkrna-ppi-network in your project.
Going by SKILL.md and its folder, Bulkrna Ppi Network 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.
Bulkrna Ppi Network 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 5k 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 397 tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Bulkrna Ppi Network: Scanpy Single-Cell Analysis (davila7/claude-code-templates, 32k stars), deepTools NGS Toolkit (davila7/claude-code-templates, 32k stars), LaminDB Biological Data Management (davila7/claude-code-templates, 32k stars) and PyDESeq2 Differential Expression (davila7/claude-code-templates, 32k 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.