The package contains functions for exploratory oligonucleotide array analysis. The dependence on tkWidgets only concerns few convenience functions. 'affy' is fully functional without it.
中文简介正在准备中。当前显示原文说明。
Estimates differential gene expression for short read sequence count using methods appropriate for count data. If you have paired data you may also want to consider Tophat/Cufflinks. Input must be raw count data for each sequence arranged i
中文简介正在准备中。当前显示原文说明。
查看安装方法安装前可以查看交给 AI 代理的指令内容。
Domain: RNA-seq / ChIP-seq / ATAC-seq Bioconductor: edgeR Paper: Robinson MD, McCarthy DJ, Smyth GK (2010). Bioinformatics, 26:139-140.
Empirical analysis of digital gene expression data. Handles small sample sizes well; supports a wide range of experimental designs via generalized linear models.
Package-intrinsic requirements from the Bioconductor landing page — reproduce in any R environment.
BiocManager::install("edgeR")Alternatives: DESeq2, limma-voom, NOISeq
| Requirement | Details |
|---|---|
| Min Replicates | ≥2 per group; n=2 is supported but power is very low |
| Input Format | Raw integer count matrix (genes × samples) |
| Must Not Use | Normalized values; edgeR normalizes internally via TMM |
| Coverage | ≥5M aligned reads per sample typical for bulk RNA-seq |
if (!require("BiocManager", quietly=TRUE))
install.packages("BiocManager")
BiocManager::install("edgeR")
library(edgeR)
Recommended for most RNA-seq experiments
library(edgeR)
d <- DGEList(counts=counts, group=group)
keep <- filterByExpr(d)
d <- d[keep,]
d <- calcNormFactors(d) # TMM normalisation
design <- model.matrix(~group)
d <- estimateDisp(d, design, robust=TRUE)
plotBCV(d) # check BCV estimates
fit <- glmQLFit(d, design, robust=TRUE)
qlf <- glmQLFTest(fit, coef=2) # test second coefficient (vs intercept)
plotQLDisp(fit) # check quasi-likelihood dispersion
top <- topTags(qlf, n=Inf)$table
sig <- top[top$FDR < 0.05,]
Pairwise comparisons between multiple groups
group <- factor(c("A","A","B","B","C","C"))
design <- model.matrix(~0+group) # no intercept for cleaner contrasts
colnames(design) <- levels(group)
d <- estimateDisp(d, design)
fit <- glmQLFit(d, design)
contr <- makeContrasts(BvsA=B-A, CvsA=C-A, BvsC=B-C, levels=design)
res_BvsA <- glmQLFTest(fit, contrast=contr[,"BvsA"])
topTags(res_BvsA)
DGEList()Container for count data
| Parameter | Description |
|---|---|
counts | matrix of raw counts (genes × samples) |
group | factor of sample groups |
lib.size | optional: library sizes (computed automatically if absent) |
norm.factors | optional: normalisation factors |
filterByExpr()Automatic count filter — removes lowly expressed genes
| Parameter | Description |
|---|---|
y | DGEList |
group | factor (uses y$samples$group if absent) |
min.count | minimum count per sample (default 10) |
min.total.count | minimum total count (default 15) |
calcNormFactors()Compute TMM normalisation factors
| Parameter | Description |
|---|---|
object | DGEList |
method | 'TMM' (default) | 'TMMwspll' | 'RLE' | 'upperquartile' | 'none' |
estimateDisp()Estimate common and tagwise dispersions (BCV)
| Parameter | Description |
|---|---|
y | DGEList |
design | model matrix from model.matrix() |
robust | logical; robust estimation (default FALSE) |
trend.method | 'locfit' | 'none' | 'movingave' |
glmQLFit()Fit quasi-likelihood negative binomial GLM (preferred for small n)
| Parameter | Description |
|---|---|
y | DGEList |
design | model matrix |
robust | logical; robustify prior df estimation |
glmQLFTest()Quasi-likelihood F-test for coefficient(s)
| Parameter | Description |
|---|---|
glmfit | DGEGLM from glmQLFit |
coef | column index/name of design matrix to test |
contrast | contrast vector/matrix instead of coef |
topTags()Extract top DE genes from test result
| Parameter | Description |
|---|---|
object | DGELRT or DGEExact |
n | number of genes (default 10; use Inf for all) |
adjust.method | 'BH' (default) | 'BY' | 'holm' | 'none' |
sort.by | 'PValue' | 'logFC' | 'none' |
The method assumes the following about your data and experiment:
logFC: log2 fold-change; positive = higher in first group of contrast.PValue / FDR: BH-adjusted FDR; standard cutoff FDR < 0.05.logCPM: average log2-CPM (counts per million) — low logCPM → low-count gene, LFC less reliable.F statistic (QLF): larger F = more evidence for DE; compare across genes, not absolute value.plotBCV() to inspect biological coefficient of variation — unusually high BCV indicates outlier samples.plotSmear() as an MA plot equivalent to check for systematic bias.filterByExpr() for automatic gene filtering — it accounts for library size.calcNormFactors) is the default and works well for most datasets.glmQLFit + glmQLFTest for small sample sizes (n<10 per group).glmFit + glmLRT for large datasets — slightly more powerful but less robust.model.matrix()) for multi-factor experiments.makeContrasts() — do not subset samples post-hoc.plotBCV(d) and plotQLDisp(fit) to check dispersion estimates.| Alternative | Prefer this tool when | Prefer alternative when |
|---|---|---|
DESeq2 | You need GLM quasi-likelihood tests; complex multifactor designs; very small n (n=2). | You prefer apeglm LFC shrinkage or want IHW for multiple testing. |
limma-voom | You have large datasets or complex contrasts that benefit from linear model flexibility. | You prefer moderated t-statistics and eBayes; microarray or large n (≥5/group). |
Key studies that have validated or benchmarked this tool:
Robinson MD, McCarthy DJ, Smyth GK (2010). Bioinformatics 26:139. PMID:19910308
Original edgeR paper; empirical Bayes dispersion estimation outperforms Poisson models.
Law CW et al. (2014). Genome Biol 15:R29. PMID:24926665
edgeR-QLF and limma-voom show best performance for RNA-seq DE across sample sizes.
Error in estimateDisp: no residual dfCause: Saturated model — number of coefficients equals number of samples
Fix: Reduce model complexity or add replicates
dispersion values all negativeCause: Very few samples; BCV estimate is unstable
Fix: Use estimateGLMCommonDisp with method='deviance'
edgeR and variancePartition for RNA-seq Data with Multiple Tissues and PExtracted from the edgeR Bioconductor vignette(s)
edgeR is a package for differential analyses of read count data from sequencing technologies such as RNA-seq, ChIP-seq, ATAC-seq, BS-seq and CUT&RUN. It has particularly strong capabilities for expression analyses of RNA-seq data, including gene expression, transcript expression and tests for differential splicing. edgeR implements novel statistical methods based on the negative binomial distribution as a model for count variability, including empirical Bayes methods, exact tests, and generalized linear models. The package is especially suitable for analysing designed experiments with multiple experimental factors but possibly small numbers of replicates. It has unique abilities to model transcript specific variation even in small samples, a capability essential for prioritizing genes or
The edgeR Userâs Guide is available by or alternatively from the edgeR landing page . Documentation for specific functions is available through the usual R help system, e.g., ?glmFit . Further questions about the package should be directed to the Bioconductor support site .
> library(edgeR)
> edgeRUsersGuide()
Chen Y, Chen L, Lun ATL, Baldoni PL, Smyth GK (2024). edgeR 4.0: powerful differential analysis of sequencing data with expanded functionality and improved support for small counts and larger datasets. bioRxiv doi: 10.1101/2024.01.21.576131 . Chen, Y, Pal, B, Visvader, JE, Smyth, GK (2017). Differential methylation analysis of reduced representation bisulfite sequencing experiments using edgeR. F1000Research 6, 2055. doi:10.12688/f1000research.13196.2 Chen Y, Lun ATL, Smyth GK (2016). From reads to genes to pathways: differential expression analysis of RNA-Seq experiments using Rsubread and the edgeR quasi-likelihood pipeline. F1000Research 5, 1438. doi:10.12688/f1000research.8987.2 McCarthy, DJ, Chen, Y, Smyth, GK (2012). Differential expression analysis of multifactor RNA-Seq experiment
This skill is the knowledge layer — when, why, and how to use edger. To run this analysis on your own data with managed compute, automated QC, and reproducible outputs, use BioMate — free to start.
还没有评价。欢迎分享你的使用感受。
无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。
还没有评论。来写第一条吧。
The package contains functions for exploratory oligonucleotide array analysis. The dependence on tkWidgets only concerns few convenience functions. 'affy' is fully functional without it.
中文简介正在准备中。当前显示原文说明。
This tool uses the label-tree function from HyPhy to annotate a phylogenetic tree. It allows users to select a subset of leaves using either a regular expression or a list of sequence names, and then apply a specified label to these selecte
中文简介正在准备中。当前显示原文说明。
This package provides a client for the Bioconductor AnnotationHub web resource. The AnnotationHub web resource provides a central location where genomic files (e.g., VCF, bed, wig) and other resources from standard locations (e.g., UCSC, En
中文简介正在准备中。当前显示原文说明。
apeglm provides Bayesian shrinkage estimators for effect sizes for a variety of GLM models, using approximation of the posterior for individual coefficients.
中文简介正在准备中。当前显示原文说明。
ASURAT is a software for single-cell data analysis. Using ASURAT, one can simultaneously perform unsupervised clustering and biological interpretation in terms of cell type, disease, biological process, and signaling pathway activity. Inputting a single-cell RNA-seq data and knowledge-based databases, such as Cell Ontology, Gene Ontology, KEGG, etc., ASURAT transforms gene expression tables into original multivariate tables, termed sign-by-sample matrices (SSMs).
中文简介正在准备中。当前显示原文说明。
AUCell allows to identify cells with active gene sets (e.g. signatures, gene modules...) in single-cell RNA-seq data. AUCell uses the "Area Under the Curve" (AUC) to calculate whether a critical subset of the input gene set is enriched with
中文简介正在准备中。当前显示原文说明。