我们生信入门答疑群里有个小伙伴问了一个问题:如果我的转录组项目的每个分组里面的重复样品之间的相似性太高了,会有什么问题吗?对差异分析结果会有什么影响吗?
无独有偶,之前我们也分析过一个组内相关性超高的数据集,高到看起来像是造假的数据,一起来看看吧。
这个数据集有10个样本,每个有5个生物学重复:https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE231835
# cisplatin-sensitive T24 BC cells (IC50: 10 μM cisplatin) t
GSM7304666 RNAseq T24 Rep1
GSM7304667 RNAseq T24 Rep2
GSM7304668 RNAseq T24 Rep3
GSM7304669 RNAseq T24 Rep4
GSM7304670 RNAseq T24 Rep5
# cisplatin-resistant T24R2 BC cells (IC50: 100 μM cisplatin)
GSM7304671 RNAseq T24R2 Rep1
GSM7304672 RNAseq T24R2 Rep2
GSM7304673 RNAseq T24R2 Rep3
GSM7304674 RNAseq T24R2 Rep4
GSM7304675 RNAseq T24R2 Rep5
# 批量读取featurecount的定量结果
list <- list.files("GSE231835_RAW/", full.names = T)
list
exp_list <- list()
for(i in 1:length(list)) {
#i <- 1
list[i]
temp <- read.table(list[i],header = T,sep = "\t")
exp_list[[i]] <- temp[,c(1,7:ncol(temp))]
}
# 整合成一张表格
data <- do.call(cbind,exp_list)
data$Geneid <- stringr::str_split(data[,1],pattern = "\\.",n=2,simplify = T)[,1]
data <- data[!duplicated(data$Geneid),]
mat <- data[, seq(2,ncol(data),by=2)]
rownames(mat) <- data$Geneid
mat[1:4,1:4]
# 简单过滤低表达
keep_feature <- rowSums (mat > 1) > 1 ;table(keep_feature)
ensembl_matrix <- mat[keep_feature, ]
rownames(ensembl_matrix)=rownames(mat)[keep_feature]
ensembl_matrix[1:4,1:4]
# 基因ensemble 转换基因symbol
library(AnnoProbe)
head(rownames(ensembl_matrix))
ids=annoGene(rownames(ensembl_matrix),'ENSEMBL','human')
head(ids)
tail(sort(table(ids$biotypes)))
ids=ids[ids$biotypes=='protein_coding',]
ids=ids[!duplicated(ids$SYMBOL),]
ids=ids[!duplicated(ids$ENSEMBL),]
symbol_matrix= ensembl_matrix[match(ids$ENSEMBL,rownames(ensembl_matrix)),]
rownames(symbol_matrix) = ids$SYMBOL
symbol_matrix[1:4,1:4]
colnames(symbol_matrix)
group_list <- stringr::str_split(colnames(symbol_matrix),pattern = "[1-9]",n=2,simplify = T)[,1]
group_list <- factor(group_list, levels = c("T","R"))
# [1] T T T T T R R R R R
# 保存
dat <- log10(edgeR::cpm(symbol_matrix)+1)
save(symbol_matrix,dat,group_list,file = 'step1-output.Rdata')
如果我们对样本进行PCA分析以及相关性分析,可以看到,样本组间差异非常大,但是组内重复性却异常高:
样本组内相关性达到了0.99以上:
差异结果也非常的诡异:
首先我们选取其中的每个分组一个样本,然后随机生成每组五个生物学重复:GSE231835_RAW/目录中只保留两个文件
# 批量读取featurecount的定量结果
list <- list.files("GSE231835_RAW/", full.names = T)
list
# [1] "GSE231835_RAW//GSM7304666_RNAseq-T24-Rep1-featureCounts.txt.gz"
# [2] "GSE231835_RAW//GSM7304671_RNAseq-T24R2-Rep1-featureCounts.txt.gz"
然后重新走上面的代码拿到 symbol_matrix 矩阵,这个时候只有两个样本:
head(symbol_matrix[1:4,])
T1 R6
SAMD11 301 223
NOC2L 1587 1641
KLHL17 393 292
PLEKHN1 166 89
然后造一个矩阵,假如一个随机数进来:
df <- data.frame(
v1 <- symbol_matrix[,1],
v2 <- symbol_matrix[,1] + sample(1:10, nrow(symbol_matrix),replace = T ),
v3 <- symbol_matrix[,1] + sample(1:10, nrow(symbol_matrix),replace = T ),
v4 <- symbol_matrix[,1] + sample(1:10, nrow(symbol_matrix),replace = T ),
v5 <- symbol_matrix[,1] + sample(1:10, nrow(symbol_matrix),replace = T ),
v6 <- symbol_matrix[,2] + sample(1:10, nrow(symbol_matrix),replace = T ),
v7 <- symbol_matrix[,2] + sample(1:10, nrow(symbol_matrix),replace = T ),
v8 <- symbol_matrix[,2] + sample(1:10, nrow(symbol_matrix),replace = T ),
v9 <- symbol_matrix[,2] + sample(1:10, nrow(symbol_matrix),replace = T ),
v10 <- symbol_matrix[,2] + sample(1:10, nrow(symbol_matrix),replace = T )
)
colnames(df) <- c("T1","T2","T3","T4","T5","R1","R2","R3","R4","R5")
rownames(df) <- rownames(symbol_matrix)
再来看看样本相关性,可以说与上面的数据非常相似了,很让人没有理由相信上面的数据是真的生物学重复分组。
但是大家一定不要学这里的代码去造假哦!!!
两个样本的差异分析可以看我们之前写的一个帖子《没有生物学重复的转录组差异分析如何挑选基因呢:变化倍数与P值选谁?》。
随便搜了一篇2019年4月,在Genomics杂志发表题为《The transcriptome enables the identification of candidate genes behind medicinal value of Drumstick tree (Moringa oleifera)》的文章,这篇文章在实验设计时没有考虑生物学重复,但对每个组织,作者设置了两个技术重复。技术重复也是一种思路呀!
让人工智(https://kimi.moonshot.cn/)能回答我们开始的那个问题:
在转录组项目中,如果每个分组里面的重复样品之间的相似性太高,可能会带来以下问题和对差异分析结果的影响:
综上所述,样本间的高相似性可能会对转录组项目的差异分析结果产生负面影响,需要通过增加生物学重复、仔细检查实验操作流程、以及在分析阶段采取适当的数据处理方法来解决这一问题。
此外,2016年英国邓迪大学的Geoffrey J. Barton教授在冷泉港出版的专业学术期刊《RNA》上发表了一篇非常经典的文章专门进行了评估,大家可以去看看:
论文标题:How many biological replicates are needed in an RNA-seq experiment and which differential expression tool should you use? 刊登日期:2016年06月 发表期刊:Journal of Extracellular Vesicles 影响因子:5.636 研究机构:英国邓迪大学生命科学学院计算生物学系 技术手段:RNA-seq、11款差异基因表达鉴定软件(baySeq、Cuffdiff、DEGseq、DESeq、DESeq2、EBSeq、edgeR、limma、NOISeq、PoissonSeq、SAMSeq) 原文链接:https://rnajournal.cshlp.org/content/22/6/839