前些天朋友圈很多小伙伴都转发了饶毅老师一篇公众号文章《
为什么批评测序?
》,为了避免大家说我蹭热点,所以我刻意等了一个月回帖!
作为华语界生物信息学领域中文自媒体扛把子的我
看起来应该是马上就得炮轰饶毅老师
的《
为什么批评测序?
》观点,因为目前测序基本上就等于生物信息学,所以是我们的生信工程师的生命线。而且这个冲突就是纯粹的代沟,目前主流的30到40岁的生命科学领域从业者基本上是伴随着测序一步步起家的, 跟50到60岁左右的已经功成名就的科学家太不一样了。不知道大家是否还记得《亚当斯科技三定律》:
-
第一条,任何在我出生时已经有的科技,都是世界本来秩序的一部分;(本该如此)
-
第二条,任何在我15-35岁之间诞生的科技,都是改变世界的革命性产物;(伟大革命)
-
第三条,任何在我35岁之后诞生的科技,都是违反自然规律要遭天谴的。(异端邪说》
这几句话是《银河系漫游指南》的作者,英国著名的科幻小说作家,道格拉斯·亚当斯在《怀疑的鲑鱼》中提出的,被称为“科技三定律”。
如果可以躺在功劳簿上面吃老本,有成功路径可以依赖,比如饶毅以及施一公老师这样的生命科学领域的老炮儿,确实是没必要去靠测序技术去堆砌样品数量,堆砌数据量。但是我相信饶毅老师的《
为什么批评测序?
》观点并不是基于他自己的利益立场,要不然就太俗气了。
并不是说不要测序
我虽然并不像饶毅老师那样旗帜鲜明的反对测序,但我也不支持很明显的“铺张浪费”的“东拼西凑”的测序。没有合理的实验设计就“不管三七二十一”测了再说的悲剧我见了太多太多,而且很多时候大家的测序往往是重复性的。比如如果我们想说明某个基因在某个癌症里面有很重要的意义,如下所示:
某个基因在某个癌症里面有很重要的意义
实际上是没有必要去在临床收集这个疾病的病人队列,也不需要去对这些病人的样品做同样的测序,因为已经是有了海量的公共数据,比如TCGA计划。活用TCGA计划的多组学数据,要说明某个基因在特定癌症中的重要作用,可有很多分析方法:
-
-
比较该基因在癌症组织与正常组织中的表达水平,确定其是否在癌症中高表达。
-
评估该基因表达水平与患者总体生存率(OS)或无病生存期(DFS)的相关性,以判断其对预后的影响。
-
分析该基因表达与肿瘤的临床病理特征(如肿瘤大小、淋巴结转移、远处转移等)之间的关联。
-
研究该基因表达水平与肿瘤分期(如TNM分期)的关系,观察是否存在随分期变化的趋势。
-
检查该基因是否在癌症中频繁突变,是否存在拷贝数增益或缺失,以及这些突变是否与肿瘤的恶性程度或预后相关。
-
利用通路分析工具,确定该基因是否参与了特定的生物学通路,这些通路是否与癌症的恶性行为相关。
-
分析该基因表达与肿瘤微环境中的免疫细胞浸润之间的关联。
通过上述分析,可以全面地了解某个基因在癌症中的潜在作用和重要性。这些分析结果可以为癌症的诊断、预后评估、治疗策略的制定以及新药靶点的发现提供重要信息。
确实是需要善用公共数据
大家的科研资金都是来源于财政拨款,纳税人的钱,确实是需要精打细算,而且已经是有很多很好的文章都做出来了很好的榜样!
比如这个文章使用了3个公共的单细胞数据集
2022发表在《Cacner Cell》的《Intratumoral plasma cells predict outcomes to PD-L1 blockade in non-small cell lung cancer》,确实是有自己的测序数据,是共891例进行PD-L1抑制剂
阿替利珠单抗
或
化疗
的NSCLC患者的转录组测序,但是并没有自己做单细胞转录组,而是使用了3个公共的单细胞数据集。
其中第一个数据集(GSE131907)是44个病人的20万细胞,然后里面有 20,362 cells 是b细胞:
44个病人的20万细胞
可以很明显的看到20,362 cells 是b细胞可以分成3个亚群 :
20,362 cells 是b细胞
这3个亚群的特异性的高表达量基因列表很容易得到:
-
滤泡B细胞:CD83, CD69, SELL, and BANK1;
-
浆细胞:免疫球蛋白相关转录本(IGHG2, IGHGP, and IGHA2), MZB1, DERL3, and XBP1;
-
生发中心B细胞:HMGA1, AICDA, and RGS13
公共数据集想用多少就可以用多少
比如这个2024的文章:《Elevated WTAP promotes hyperinflammation by increasing m6A modification in inflammatory disease models》,就使用了 GSE19315, GSE198326, GSE2411, GSE2638, GSE69063, GSE13887, GSE137268, GSE97779, GSE166388, GSE208303, GSE125527, GSE16879, GSE193193, GSE179874, GSE119600, GSE10616, GSE137218, GSE227851, and GSE189847,
真的是随手就一个公共数据集来起承转合,一个图里面的多个子图都是公共数据集处理后的结果:
随手就一个公共数据集
作为学徒作业
读取上面的44个病人的20万细胞的这个表达量矩阵文件(GSE131907_Lung_Cancer_raw_UMI_matrix.txt.gz),然后进行基础的降维聚类分群,然后提取里面的b细胞进行细分看看
:
library(data.table)
Sys.time()
raw.data 'inputs/GSE_Lung_Cancer_raw_UMI_matrix.txt.gz',
data.table = F)
Sys.time()
dim(raw.data) #
raw.data[1:4,1:4]
rownames(raw.data)=raw.data[,1]
raw.data=raw.data[,-1]
head(colnames(raw.data))
g=rownames(raw.data)
g[grepl('^MT',g)]
library(AnnoProbe)
ids=annoGene(g,'SYMBOL','human')
head(ids)
sort(table(ids$chr))
ids=ids[ids$biotypes=='protein_coding',]
sce.all=CreateSeuratObject(counts = raw.data )
sce.all
library(stringr)
phe=str_split( rownames([email protected]),'_',simplify = T)
head(phe)
table(phe[,2])
table(phe[,3])
sce.all$patient=paste0('p',phe[,3])
sce.all$group=phe[,2]
table(sce.all$group)
table(sce.all$patient)
gplots::balloonplot(
table(sce.all$patient,sce.all$group)
)
sce.all$orig.ident=paste(sce.all$patient,sce.all$group)
table(sce.all$orig.ident)
head([email protected])
table([email protected][,4:5])
可以参考一下我前面的
每个单细胞亚群取子集后继续降维聚类分群标准操作(以b细胞为例)
,当然了也可以看完我的这个专辑 :