Skip to content
Data
Skill

/bulk-rnaseq

Prepares bulk RNA-seq FASTQ, Salmon, STAR or featureCounts output for gene-level differential expression. Covers nf-core/rnaseq and standalone quantification, biological replication, strandedness, reference provenance, validated count assembly and a PyDESeq2 handoff. Use for

From plugin
scientific-agent-skills
56k177 skills

Claude Code

$ npx -y skills add K-Dense-AI/scientific-agent-skills --skill bulk-rnaseq --agent claude-code

SKILL.md

bulk-rnaseq.SKILL.md
name: bulk-rnaseq
description: Prepares bulk RNA-seq FASTQ, Salmon, STAR or featureCounts output for gene-level differential expression. Covers nf-core/rnaseq and standalone quantification, biological replication, strandedness, reference provenance, validated count assembly and a PyDESeq2 handoff. Use for FASTQ-to-counts analysis, nf-core/rnaseq configuration, STAR/Salmon quantification, or building a counts matrix for DESeq2. For single-cell data use scanpy; for statistical fitting alone use pydeseq2.
license: MIT
compatibility: Requires Python 3.11+ with pandas and numpy; Salmon import also needs pytximport. Read processing needs Nextflow with containers or standalone bioinformatics tools. Network access is needed for installation and reference downloads.
metadata:
  version: "2.0"
  last-reviewed: "2026-09-30"
  skill-author: K-Dense Inc.

Bulk RNA-seq

Overview

This skill prepares bulk RNA-seq reads and quantification output for a reproducible gene-level comparison. It owns sample validation, reads-to-counts recipes, and the count/metadata handoff; downstream statistical fitting and enrichment remain in their specialist skills.

"Defensible" means three things, applied throughout:

  • **Reproducible** β€” pinned pipeline/tool versions, containers where possible, recorded parameters, fixed random seeds.
  • **Quality-gated** β€” QC is inspected and acted on before, during, and after quantification, not skipped.
  • **Statistically sound** β€” adequate replication, a design that matches the biology, counts handled correctly, and FDR-controlled testing.

The pipeline is: **FastQC/trim β†’ align/quant (STAR/Salmon) β†’ counts β†’ DE (pydeseq2) β†’ enrichment (pathway-enrichment) β†’ figures**.

When to Use This Skill

Use this skill when the user wants to:

  • Go from FASTQ files (or a sequencing run) to differentially expressed genes and pathways.
  • Run or configure `nf-core/rnaseq`, or align/quantify with STAR, Salmon, or featureCounts.
  • Turn Salmon/STAR/featureCounts output into a counts matrix ready for DESeq2/PyDESeq2.
  • Design or sanity-check a bulk RNA-seq experiment (replicates, batch, strandedness) before committing compute.
  • Scope an end-to-end RNA-seq analysis and decide which tools and skills to chain.

This is **bulk** RNA-seq (samples = biological specimens). For single-cell/nuclei data use `scanpy`; for the DE statistics alone use `pydeseq2`; for enrichment alone use `pathway-enrichment`.

The Pipeline at a Glance

flowchart TD
    fastq["Raw FASTQ + samplesheet"] --> qc["FastQC + MultiQC"]
    qc --> trim["Trim: fastp / Trim Galore"]
    trim --> align["Align + quant: STAR and/or Salmon"]
    align --> counts["Gene-level counts matrix"]
    counts --> de["Differential expression"]
    de --> enrich["Pathway / GSEA enrichment"]
    de --> fig["Figures"]
    enrich --> fig
    nfcore["nf-core/rnaseq via nextflow skill"] -.->|"path A"| align
    manual["Standalone recipes (this skill)"] -.->|"path B"| align
    bridge["build_counts_matrix.py (this skill)"] -.-> counts
    pydeseq2skill["pydeseq2 skill"] -.-> de
    pwskill["pathway-enrichment skill"] -.-> enrich
    vizskill["scientific-visualization skill"] -.-> fig

Two Upstream Paths β€” Pick One

The reads β†’ counts stage can be run two ways. Both produce gene-level counts, but STAR/featureCounts and Salmon/tximport do not generally give identical or interchangeable values: assignment rules, multimapping, and effective-length corrections differ. Choose one quantification route for the entire comparison.

| Use **Path A β€” `nf-core/rnaseq`** when… | Use **Path B β€” standalone tools** when… | |------------------------------------------|------------------------------------------| | You want the field-standard, audited, citable pipeline with one command | You have a few samples and want to learn/inspect each step | | Many samples, or you'll scale to HPC/cloud | No Nextflow/containers available, or a constrained environment | | Reproducibility and a full MultiQC report matter most | You need a non-standard step the pipeline doesn't expose | | β†’ Drive it through the **`nextflow`** skill | β†’ Follow `references/upstream-manual.md` |

When unsure, prefer **Path A**: `nf-core/rnaseq` already wires together FastQC β†’ trimming β†’ STAR/Salmon β†’ quantification β†’ tximport β†’ MultiQC with sensible, reviewed defaults, which is the most defensible option. Path B exists for transparency and constrained setups.

Both paths converge on a **gene-level counts matrix**. Preserve whether counts are raw or length-scaled, the transcript-to-gene mapping release, and any offsets. Length-scaled counts must not receive a second transcript-length correction.

Setup

# This skill's glue (bridge + handoffs) β€” Python
uv pip install "pytximport==0.13.0" pandas numpy

# Downstream skills install their own deps:
#   pydeseq2 skill           -> uv pip install pydeseq2
#   pathway-enrichment skill -> uv pip install gseapy gprofiler-official

# Path A (nf-core): only Nextflow + a container engine are needed β€” see the `nextflow` skill.

# Path B (standalone tools): install via bioconda. Pin versions for reproducibility.
conda create -n rnaseq -c conda-forge -c bioconda --strict-channel-priority \
  fastqc fastp trim-galore "star=2.7.11b" "salmon=2.8.0" subread multiqc

Reviewed against nf-core/rnaseq 3.27.0, STAR 2.7.11b documentation, Salmon 2.8.0, pytximport 0.13.0 and PyDESeq2 0.5.4. The bundled Python bridge and a tiny Salmon index/quant run were executed; the full Nextflow/STAR/trimming recipes are illustrative, not an end-to-end validation. Salmon 2.x cannot read older C++ indexes: rebuild them. The bridge's length-scaled Salmon route is for full-length bulk RNA-seq; 3β€² counting assays need original counts without transcript-length correction.

Record the exact versions you use (pipeline revision, tool versions, reference genome + annotation release) β€” they belong in the methods section and make the analysis reproducible.

Version 2.

Read more
@k-dense-ai
Ships withscientific-agent-skills

πŸ”” Claude Scientific Skills is now Scientific Agent Skills. Same skills, broader compatibility β€” now works with any AI agent that supports the open Agent Skills standard, not just Claude.

Stars on GitHub

Momentum

stars in total
55.6k
Star history of K-Dense-AI/scientific-agent-skills on GitHub, a chart by star-history.com

Other skills on scientific-agent-skills.

More skills from other plugins.

paddleocr-doc-parsing

paddleocr-doc-parsing

Use this skill to extract structured Markdown/JSON from PDFs and document imagesβ€”tables with cell-level precision, formulas as…

@paddlepaddle@paddlepaddleInstall Skill
context-loader
Auto-invoked

context-loader

Search memories from earlier Pi sessions in this repository. Use it when earlier work may already explain the code, error,…

mem04d69k
@mem0ai@mem0aiInstall Skill
analyzing-ai-citations

analyzing-ai-citations

Answer AI citation and answer engine optimization (AEO) questions in PostHog: whether AI answer engines (ChatGPT, Claude, and an…

posthog10d41k
@posthog@posthogInstall Skill
qmd

qmd

Search local markdown knowledge bases, notes, docs, and wikis with QMD. Use when users ask to find notes, retrieve documents,…

qmd3w31k
@tobi@tobiInstall Skill

Questions about bulk-rnaseq.

Which coding agents can use bulk-rnaseq?
bulk-rnaseq installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.