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
  • 1 view
  • 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…