Skip to content
Back to skills

EdgeR

ASecurity

R edgeR package for RNA-seq analysis. Use for differential expression with negative binomial models.

  • 5 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added June 4, 2026
dataexpress

Security analysis

A100/100

Scanned June 4, 2026

npx -y skills add LeoLin990405/r-analytics-skill --skill edgeR --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of EdgeR?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for EdgeR
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/leolin990405-edger/badge)](https://www.skillsdirectory.com/skills/leolin990405-edger)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: edgeR
description: R edgeR package for RNA-seq analysis. Use for differential expression with negative binomial models.
---

# edgeR Package

Differential expression analysis for RNA-seq.

## Basic Workflow

```r
library(edgeR)

# Create DGEList
dge <- DGEList(counts = count_matrix, group = group)

# Filter low counts
keep <- filterByExpr(dge)
dge <- dge[keep, , keep.lib.sizes = FALSE]

# Normalize
dge <- calcNormFactors(dge)

# Estimate dispersion
dge <- estimateDisp(dge)

# Exact test (two groups)
et <- exactTest(dge)
topTags(et)
```

## GLM Approach

```r
# Design matrix
design <- model.matrix(~0 + group)
colnames(design) <- levels(group)

# Estimate dispersion
dge <- estimateDisp(dge, design)

# Fit GLM
fit <- glmQLFit(dge, design)

# Contrast
contrast <- makeContrasts(TreatmentA - Control, levels = design)
qlf <- glmQLFTest(fit, contrast = contrast)
topTags(qlf)
```

## Results

```r
# Top genes
results <- topTags(qlf, n = Inf)$table

# Significant genes
sig <- results[results$FDR < 0.05, ]

# Volcano plot
plotMD(qlf)

# MA plot
plotSmear(qlf)
```

## Normalization

```r
# TMM (default)
dge <- calcNormFactors(dge, method = "TMM")

# Other methods
dge <- calcNormFactors(dge, method = "RLE")
dge <- calcNormFactors(dge, method = "upperquartile")

# Get normalized counts
cpm(dge)
rpkm(dge, gene.length = gene_lengths)
```

## MDS Plot

```r
plotMDS(dge, col = as.numeric(group))
```

## Export

```r
write.csv(topTags(qlf, n = Inf)$table, "de_results.csv")
```

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.