Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >差异分析不是这样做的……

差异分析不是这样做的……

作者头像
生信菜鸟团
发布于 2023-01-05 13:04:03
发布于 2023-01-05 13:04:03
2.3K00
代码可运行
举报
文章被收录于专栏:生信菜鸟团生信菜鸟团
运行总次数:0
代码可运行

那天在Frontiers in Immunology 偶然一瞥,看到一篇新鲜出炉的纯生信文章

大喜?!纯生信文章还能往这里投?赶紧学习学习,然后……我就看到了这张神奇的图⬇

原文对差异分析是这么描述的:Using R software’s limma package , differentially expressed genes (DEGs) between septic shock cohort and control cohort were analyzed, with the following criterion: p<0.05 and |fold change (FC)| > 1.

竟然是直接用fold change来作为阈值的,一般差异分析用的更多的是log2FC,这样数字不会特别离谱。

毕竟,log2FC中的FC即 fold change,表示两个样本/组间表达量的比值,对其取以2为底的对数之后才是log2FC。

举几个例子:基因A 在肿瘤和正常组织中的表达量分别为2和4,那么比值为2,即FC=2,此时log2FC=1; 基因B 在肿瘤和正常组织中的表达量均为2,此时比值为1,即FC=1,此时log2FC=0; 基因C 在肿瘤和正常组织中的表达量分别为2和64,那么比值为32,即FC=32,此时log2FC=5。 最后夸张一下!! 基因D 在肿瘤和正常组织中的表达量分别为2和1024,那么比值为512,即FC=512,此时log2FC=9。

这样一算,你大概就能明白上面那张图问题出在哪里了吧~

但是光说不练,纸上谈兵,我们还是自己上手分析一下这个数据集,验证一下自己的猜想——

这里的上下调基因取得是top30的哈~,代码放在下面:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cg = rownames(deg)[deg$change != "stable"]
deg1 <- deg[cg,] 
library(dplyr)
top_up <- deg1 %>%  top_n(n=30,wt=logFC) %>% rownames() 
top_down <- deg1 %>%  top_n(n=-30,wt=logFC) %>% rownames()
top_all <- c(top_up,top_down)
n1 <- n[top_all,]

# 由于 ComplexHeatmap 包并不会对数据进行标准化,为了让图形更好看,我们先手动对数据进行标准化
exp <- apply(n1, 1, scale)
rownames(exp) <- colnames(n1)
exp <- t(exp)

然后是画图参数的设置:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
col_fun = colorRamp2(c(-2, 0, 2), c("#2fa1dd", "white", "#f87669"))
top_annotation = HeatmapAnnotation(
  cluster = anno_block(gp = gpar(fill = c("#2fa1dd", "#f87669")),
                       labels = c("normal","case"),
                       labels_gp = gpar(col = "white", fontsize = 12)))
p4 <- pheatmap(exp,name = "expression",
               col = col_fun,
               column_split = group_list,
               top_annotation=top_annotation,
               row_split = rep(c("UP","DOWN"), each = 30),
               fontsize_row=5,
               column_title = NULL,
               show_colnames = F)
p4                
p4 <- as.ggplot(p4)

最后是拼图的基操:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
library(patchwork)
p <- p3+p4 ##p3就是火山图
ggsave(p,filename = "../outputs/article.pdf",width = 15,height = 9)

为什么我的图和文章里的图迥然不同呢?

相信大家只要对表达量矩阵有一定的熟悉,就应该知道,有的数据集下载以后,需要先观察探针在每一个样本中的表达量数据,一般数值不大于20的话,说明这个矩阵已经是被取过log的,否则的话是需要先取log再做分析的。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
options(timeout = 99999999)

getwd()
rm(list = ls())
library(GEOquery)
library(stringr)

gse <- "GSE26440"
# 1.获得表达矩阵 ----------------------------------------------------------------
eSet1 <- getGEO(gse, 
                destdir = '.', 
                getGPL = F)
#(1)提取表达矩阵exp
exp1 <- exprs(eSet1[[1]])
exp1[1:4,1:4]
range(exp1)
# [1]  0.01 1208.00
exp1 <- log2(exp1+1)
range(exp1)

有点惊讶这样的错误编辑竟然没有发现,而且还大大方方地出现在文章正文中,哪怕作为补充材料出现都值得质疑吧?~

PS:我们并不是为了针对文章作者,而是仅就文章中的问题作出合理的质疑。当然,我们的观点可能并不正确,希望大家从学术讨论的角度出发 peace & love 🌹

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-12-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信菜鸟团 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
生信入门DAY7-9
基因表达芯片、转录组(NGS)、单细胞、(突变、甲基化、拷贝数变异,不直接给表达矩阵)。
青柠味
2025/05/22
1070
生信入门DAY7-9
GEO数据挖掘之转录组测序数据流程-以GSE150392为例
这个包里可以画pca, 热图,火山图,韦恩图,具体每个图的算法,可以看生信技能树GEO芯片分析
生信技能树
2022/06/08
2.6K1
GEO数据挖掘之转录组测序数据流程-以GSE150392为例
转录组差异分析—基本流程
读取RawCounts.csv文件,其文件形式如下图行名为ensembleid,列名为样本名称。
sheldor没耳朵
2024/07/29
2580
转录组差异分析—基本流程
TCGA数据整理-3
生信菜鸟团
2024/07/11
1260
TCGA数据整理-3
Robust Rank Aggregation(RRA)分析学习
Robust Rank Aggregation (RRA) 是一种排名整合算法,用于从多个排序列表中识别在所有或大多数列表中排名靠前的元素/基因/变量,目标是找到跨所有数据来源具有一致性的显著元素/基因/变量。
凑齐六个字吧
2024/11/28
2000
Robust Rank Aggregation(RRA)分析学习
生物信息数据分析教程视频——13-3种R包(DESeq2、edgeR和limma)进行RNAseq的差异表达分析与比较
视频地址:http://mpvideo.qpic.cn/0bc3zeaakaaalqalwhjtmzrvbsodaxeqabia.f10002.mp4? 参考文章: 超详细的DESeq2和edg
DoubleHelix
2022/12/15
1.4K0
生物信息数据分析教程视频——13-3种R包(DESeq2、edgeR和limma)进行RNAseq的差异表达分析与比较
转录组测序结果分析
#没有任何提示就是成功了,如果有warningxx包不存在,用library检查一下。
叮当猫DDM
2024/03/19
2591
TCGA分析-数据整理2
素素
2023/10/31
3650
转录组差异分析FPKM与count处理差别大吗
这些天来,我们一般都是处理上游定量好的count数据,然后进行下游的转录组分析。但是,我们查看GEO数据集时,会发现有些数据集并没有提供count数据,而仅仅提供了FPKM或者RPKM等格式的数据。那当数据集提供的是FPKM数据集时,我们还能处理吗。前面曾老师分享的推文中描述了FPKM的处理方式,具体见RNAseq数据,下载GEO中的FPKM文件后该怎么下游分析,评论区中有小伙伴谈到limma包的作者不推荐用limma处理FPKM数据,最好用原始数据进行分析。那用count与用FPKM去处理获得的差异基因具有巨大的差别吗?曾老师前两天提出了这个疑问,于是便有了今天的推文。接下来,我们就探索一下用count与用FPKM去处理获得的差异基因是否具有巨大差别吧?
生信菜鸟团
2023/01/05
12.3K1
转录组差异分析FPKM与count处理差别大吗
GEO多数据集联合分析-文献复现
文献题目:基于生物信息学的新型铁死亡基因生物标志物和免疫浸润谱在糖尿病肾病中的应用Huang, Y., & Yuan, X. (2024). Novel ferroptosis gene biomarkers and immune infiltration profiles in diabetic kidney disease via bioinformatics. FASEB journal : official publication of the Federation of American Societies for Experimental Biology, 38(2), e23421. https://doi.org/10.1096/fj.202301357RR. IF: 4.8 Q1
用户11008504
2024/05/11
3832
多个数据集的整合分析
文章的故事是从这句话开始的:prognostic gene signature by generating the differentially expressed mRNAs with P-value less than 0.001 and fold-change values of −2 to 2 between tumor and non-tumor samples in GSE15471, GSE28735, and GSE62452 datasets.
生信菜鸟团
2023/01/05
1.1K0
多个数据集的整合分析
【生物信息学】基因差异分析Deg(数据读取、数据处理、差异分析、结果可视化)
本实验完成了基因差异分析,包括数据读取、数据处理( 绘制箱型图、删除表达量低于阈值的基因、计算差异显著的基因)、差异分析(进行秩和检验和差异倍数计算)等,成功识别出在正常样本与肿瘤样本之间显著表达差异的基因,并对其进行了进一步的可视化分析(箱型图、差异倍数fold分布图、热力图和散点图)。
Qomolangma
2024/07/30
5740
【生物信息学】基因差异分析Deg(数据读取、数据处理、差异分析、结果可视化)
三种转录组差异分析方法及区别你会了吗?
在做项目时,曾有小伙伴对我用edgeR进行差异分析筛选出的具体显著差异基因表示质疑,因为发表的文章清楚的说明某个基因是差异基因,但是我edgeR的分析结果并没有表明。在小伙伴的质疑下,我认真看了下文章,发现文章用的是DEseq2进行差异分析。值得注意的是该小伙伴关注的差异基因是一个离散比较大的基因,此处的离散较大可以理解为假定对照组为5,6,7;实验组则为14,13,3的情况。那为什么这个基因在edgeR分析下不是显著差异基因,然而在DEseq2的分析下是差异基因呢?这应该很大程度源于算法判定显著差异基因的区别。接着,我看了关于DEseq2与edgeR区别的描述,发现「edgeR与Deseq2都是基于负二项分布模型做的,两者处理同一组数据时,相同阈值处理大部分基因是一样的,但是也会有一部分基因会因为离散度不同导致差异不同」,如刚刚示例的基因离散度被DEseq2识别为差异,但是不被edgeR识别,所以两种算法获取的差异基因与数目是存在细微区别的。
生信菜鸟团
2022/10/31
6K1
三种转录组差异分析方法及区别你会了吗?
NC单细胞文章复现(六):Gene expression signatures(1)
在上一节,由于大部分细胞(868个)都被归为上皮细胞群中(Fig2 c),这868个细胞可被分成5个cluster,接着对这5个cluster细胞进行探索。我们使用一组来自对乳腺肿块的非监督分析的基因表达特征对5个cluster进行了研究。这些基因表达特征通过比较三阴性乳腺癌(TNBC)的四个亚型(ERBB2 amplicon,Luminal Subtype 、Basal epithelial-cell enriched 和Luminal epithelial gene cluster containing ER)而建立。先看看这5个clusters的basal细胞来源的细胞群有多少。大多数TNBC是基底样肿瘤,它们与多种TNBC型亚型重叠,与非固有基底TNBCs相比,与克隆异质性增加有关。(备注:这篇文献用到了很多apply循环,大家仔细琢磨,大概意思能看懂就行,然后可以把它应用到自己的数据中)
生信技能树jimmy
2021/07/02
2.5K0
NC单细胞文章复现(六):Gene expression signatures(1)
TCGA分析-数据整理-1
素素
2023/10/31
4000
没有生物学重复的转录组差异分析如何挑选基因呢: 变化倍数与P值选谁?
2、没有生物学重复的时候 还有算法可以做差异分析吗?进而得到一个统计学显著性Pvalue值。
生信技能树
2024/12/27
2400
没有生物学重复的转录组差异分析如何挑选基因呢: 变化倍数与P值选谁?
顶刊 Science 文献两分组差异结果比较图复现
Top 200 UP/DN genes from 24-hour KRAS siRNA and ERKi RNA-seq experiments
生信技能树
2025/01/13
2460
顶刊 Science 文献两分组差异结果比较图复现
一个数据里两种分组信息怎么做差异分析
众所周知,limma可以做基因表达芯片和转录组数据的差异分析,可以方便的得处两组之间有表达量差别的基因。多分组差异分析其实也是两两差异分析的批量做法。
用户11414625
2024/12/20
1210
一个数据里两种分组信息怎么做差异分析
生信技能树——GEO转录组RNA_seq_GSE162550
和生信技能树GEO转录组“GSE150392“分析类似,唯一区别就是在数据处理和ID转换这一环节略微有区别
生信技能树
2022/06/08
1.8K0
生信技能树——GEO转录组RNA_seq_GSE162550
单细胞数据分析2(练习GSE218208)
Erics blog
2023/10/15
5260
相关推荐
生信入门DAY7-9
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验