sciagent-skill-creator
Scaffold a new SciAgent-Skills entry. Picks pipeline/toolkit/database/guide template, creates skills/{category}/{name}/SKILL.md…
Bulk RNA-seq DE with R/Bioconductor DESeq2. Negative binomial GLM, empirical Bayes shrinkage, Wald/LRT tests, multi-factor designs, Salmon tximeta import, apeglm LFC shrinkage, MA/volcano/heatmap viz. R gold standard. Use pydeseq2-differential-expression for Python; use edgeR
Claude Code
$ npx -y skills add jaechang-hits/SciAgent-Skills --skill deseq2-differential-expression --agent claude-code
Codex
$ npx skills add jaechang-hits/SciAgent-Skills --skill deseq2-differential-expression -a codex -y
Cursor
$ npx skills add jaechang-hits/SciAgent-Skills --skill deseq2-differential-expression -a cursor -y
Gemini CLI
$ npx skills add jaechang-hits/SciAgent-Skills --skill deseq2-differential-expression -a gemini-cli -y
GitHub Copilot
$ npx skills add jaechang-hits/SciAgent-Skills --skill deseq2-differential-expression -a github-copilot -y
OpenCode
$ npx skills add jaechang-hits/SciAgent-Skills --skill deseq2-differential-expression -a opencode -y
Windsurf
$ npx skills add jaechang-hits/SciAgent-Skills --skill deseq2-differential-expression -a windsurf -y
name: "deseq2-differential-expression" description: "Bulk RNA-seq DE with R/Bioconductor DESeq2. Negative binomial GLM, empirical Bayes shrinkage, Wald/LRT tests, multi-factor designs, Salmon tximeta import, apeglm LFC shrinkage, MA/volcano/heatmap viz. R gold standard. Use pydeseq2-differential-expression for Python; use edgeR for TMM normalization." license: "LGPL-3.0"
DESeq2 is the Bioconductor R package for differential gene expression analysis from bulk RNA-seq count data. It fits a negative binomial generalized linear model per gene, estimates dispersion parameters using empirical Bayes shrinkage across genes, and tests differential expression using Wald tests (two-group) or likelihood ratio tests (complex designs). DESeq2 is the R gold standard for RNA-seq DE analysis, with native Bioconductor integration for seamless import from Salmon (tximeta/tximport), featureCounts, or HTSeq.
# Install Bioconductor packages
if (!require("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install(c("DESeq2", "tximeta", "tximport", "apeglm",
"EnhancedVolcano"))
install.packages(c("pheatmap", "ggplot2", "dplyr"))Settle these with the user before writing any analysis code.
decisions:
- id: D1
param: design
kind: required
source: data
ask: "Which column of the sample sheet separates the groups you want to compare?"
default: null
- id: D2
param: contrast
kind: required
source: user
depends_on: [D1]
ask: "Which two groups should be compared, and which group should have positive log2 fold changes?"
default: null
- id: D3
param: design
kind: required
source: data
depends_on: [D1]
ask: "Which available variables should be included to adjust for nuisance variation (batch, donor, sex, sequencing run)?"
default: "none"
skip_if: "sample sheet carries no column besides the grouping variable"
- id: D4
param: test
kind: required
source: user
depends_on: [D1, D2]
ask: "Is the primary hypothesis a named comparison, or an overall effect of this factor across its levels?"
default: "named comparison (Wald test)"
- id: D5
param: alpha
kind: optional
source: user
ask: "How strong must the evidence be before a gene counts as changed (false-discovery rate)?"
default: 0.05
- id: D6
param: lfcThreshold
kind: optional
source: user
ask: "Test against a zero change, or against a minimum fold change worth caring about?"
default: 0
- id: D7
param: lfcShrink.type
kind: derived
source: upstream
ask: "Shrink fold-change estimates so low-count genes stop dominating the rankings and plots?"
default: "apeglm, applied for ranking and visualization"
- id: D8
param: blind (vst/rlog)
kind: derived
source: upstream
ask: "Should the variance-stabilizing transform ignore the design?"
default: "TRUE for QC/clustering, FALSE for design-aware downstream uses"
- id: D9
param: independentFilter
kind: optional
source: user
ask: "Should DESeq2 use its adaptive mean-count filter to maximize discoveries at the chosen FDR threshold?"
default: true`design` appears twice because the formula is assembled from both D1 and D3; D2 defines the direction of the reported effect. The pipeline explicitly passes `alpha: 0.05` to `results()` so independent filtering is optimized for the reported FDR threshold rather than DESeq2's default of `0.1`.
Complete two-group comparison from a count matrix in under 20 lines.
library(DESeq2)
# Load count matrix (genes x samples) and metadata
counts <- as.matrix(read.csv("counts.csv", row.names = 1))
coldata <- read.csv("metadata.csv", row.names = 1)
coldata$condition <- factor(coldata$condition)
# Build DESeqDataSet, run full pipeline
dds <- DESeqDataSetFromMatrix(countData = counts,
colData = coldata,
design = ~ condition)
dds <- dds[rowSums(counts(dds)) >= 10, ] # pre-filter
dds <- DESeq(dds)
# Extract results (treated vs. control)
res <-Turn your AI coding agent into a life sciences expert — 199 bioinformatics skills for Claude Code covering RNA-seq, single-cell analysis, genomics, proteomics, drug discovery, and more. Boosted BixBench from 65% to 92%. Open source.
Scaffold a new SciAgent-Skills entry. Picks pipeline/toolkit/database/guide template, creates skills/{category}/{name}/SKILL.md…
Bayesian modeling with PyMC 5: priors, likelihood, NUTS/ADVI sampling, diagnostics (R-hat, ESS), LOO/WAIC comparison, prediction.…
Time-to-event modeling with scikit-survival: Cox PH (elastic net), Random Survival Forests, Boosting, SVMs for censored data.…
Guided statistical analysis: test choice, assumption checks, effect sizes, power, APA reporting. Pick tests, verify assumptions,…
Python statistical modeling: regression (OLS, WLS, GLM), discrete (Logit, Poisson, NegBin), time series (ARIMA, SARIMAX, VAR),…
DL cell/nucleus segmentation for fluorescence and brightfield microscopy. Pre-trained models (cyto3, nuclei, tissuenet) and a…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.