edger多组差异性分析_edgeR之配对检验分析差异基因的使用教程

本文详细介绍了如何使用R包edgeR进行RNA-seq数据的差异表达分析,包括数据归一化、构建DGElist对象、过滤、标准化、离散度估计和差异基因检验等步骤,重点强调了在分析circRNA时的特殊处理和注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

edgeR的介绍

背景

RNA-seq表达谱与生物复制的差异表达分析。 实现一系列基于负二项分布的统计方法,包括经验贝叶斯估计,精确检验,广义线性模型和准似然检验。 与RNA-seq一样,它可用于产生计数的其他类型基因组数据的差异信号分析,包括ChIP-seq,Bisulfite-seq,SAGE和CAGE。

简介

edgeR包是进行RNA-seq数据分析非常常用的一个R包。该包需要输入每个基因关于每个样本的reads数的数据,每行对应一个基因,每一列对应一个样本。edgeR作用的是真实的比对统计,因此不建议用预测的转录本。

归一化原因:

技术原因影响差异表达分析:

1)Sequencing depth:统计测序深度(即代表的是library size);

2)RNA composition:个别异常高表达基因导致其它基因采样不足

3)GC content: sample-specific effects for GC-content can be detected

4)sample-specific effects for gene length have been detected

注意:edgeR必须是原始表达量,而不能是rpkm等矫正过的。

1.读取表达矩阵文件

>SFTSV_24vscontrol_circ

2.构建分组变量

分为control组和SFTSV_24组,每组都为三个重复

>group

3.构建DGElist对象

### R语言中GEO数据差异分析方法和包 #### 使用`limma`包进行差异表达分析 对于基因表达数据分析,`limma`是一个广泛应用于微阵列和其他高维生物数据的R包。该包提供了稳健的统计模型来进行两组或多组样本之间的差异表达分析。 ```r library(limma) # 假设已经加载并预处理了GEO数据到expressionSet对象exprs_data design <- model.matrix(~0+factor(c(rep("control", 3), rep("treated", 3)))) colnames(design) <- c("Control", "Treated") fit <- lmFit(exprs_data, design) contrast_matrix <- makeContrasts(Treated-Control, levels=design) fit2 <- contrasts.fit(fit, contrast_matrix) fit2 <- eBayes(fit2) topTable(fit2, adjust="fdr", number=nrow(exprs_data)) ``` 此代码片段展示了如何构建线性模型设计矩阵,并利用对比矩阵计算治疗组相对于对照组的变化情况[^1]。 #### 利用`edgeR`包处理RNA-seq类型的GEO数据 当涉及到基于测序技术产生的计数型数据时,推荐采用专门为此类数据定制的方法论之一——`edgeR`。它能够有效地估计离散分布参数以及执行精确的小样本量测试。 ```r library(edgeR) counts <- DGEList(counts=get_counts_from_GEO(), group=factor(c(rep("Ctrl", n_ctrl_samples), rep("Trmt", n_trmt_samples)))) # 进行过滤、标准化等操作... keep <- filterByExpr(counts$counts, counts$samples$lib.size) counts <- calcNormFactors(counts[, keep]) design <- model.matrix(~group, data=samples_info[counts$samples$id]) dge <- estimateDisp(counts, design) fit <- glmQLFit(dge, design) qlf <- glmQLFTest(fit, coef=2) topTags(qlf) ``` 上述脚本说明了从原始读取数目开始直至获得最终显著性结果的过程[^2]。 #### 应用`DESeq2`实现更复杂的实验设计方案 针对具有复杂结构(比如时间序列、配对样本)的研究场景,`DESeq2`不仅支持标准的二元比较,还允许灵活定义协变量从而更好地控制混杂因素影响。 ```r library(DESeq2) dds <- DESeqDataSetFromMatrix(countData = get_counts(), colData = samples, design =~ condition + batch_effect) dds <- DESeq(dds) res <- results(dds) plotMA(res, main="MA plot of differential expression analysis") ``` 这段程序示范了怎样引入额外批次效应因子进入回归方程式的设定里去[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值