基因功能不确定?做一下单基因GSEA怎么样?

2022-01-19 14:46:14 浏览数 (1)

生物信息学习的正确姿势

NGS系列文章包括NGS基础、在线绘图、转录组分析 (Nature重磅综述|关于RNA-seq你想知道的全在这)、ChIP-seq分析 (ChIP-seq基本分析流程)、单细胞测序分析 (重磅综述:三万字长文读懂单细胞RNA测序分析的最佳实践教程)、DNA甲基化分析、重测序分析、GEO数据挖掘(典型医学设计实验GEO数据分析 (step-by-step))、批次效应处理等内容。

今天在讨论群看到有群友提问 单基因GSEA怎么做?。之前也看到过这个概念,但一直不清楚这个是什么含义,一直以为是用单个基因做GSEA。如果之前看过生信宝典的一文掌握GSEA,超详细教程,一定会特别熟悉GSEA的原理和操作流程。当然越是理解,越是想不明白个基因怎么做GSEA。当然如果您不熟悉GSEA,建议先看上一篇文章。

后来群友点拨理解了,不是对单个基因做GSEA,是拿单个基因 (一般是感兴趣的基因)作为分组方式,探索与给定的单个基因相关的 (可以是表达相关,也可以是其它相关)基因富集在哪些调控通路和分子功能。

分组方法有两种,一种是定性分组,一种是定量相关

定性分组

根据感兴趣的单个基因的度量值如表达值进行分组,比如按照该基因表达中位数分组,该基因表达值高于中位数的样品为一组,低于中位数的样品为一组,构建一个cls文件。如下,假如有8个样品,其中4个样品中该基因表达高 (samp1, samp3, samp7, samp8),4个样品中该基因表达低(samp 2 4 5 6),则cls文件如下 (一定注意样本顺序要一致):

代码语言:javascript复制
8 2 1
#gene_high    gene_low
gene_high gene_high gene_high gene_high gene_low gene_low gene_low gene_low

调整后的表达矩阵格式如下 (注意列的对应,high对高的样品。)

代码语言:javascript复制
Gene samp1 samp3 samp7 samp8 samp2 samp4 samp5 samp6
A 4 4 4 4 1 1 1 1
B . . . . . . . .
C . . . . . . . .

后续的操作就不说了,还是看生信宝典的一文掌握GSEA,超详细教程,看完就都会了。

:也可以按照该基因表达的第一和三四分位数分组,小于第一四分位数的为一组,大于第三四分位数的为另一组。

相关性排序

与前面把样本分组不同,这里样本不进行分组了,而是把感兴趣基因的表达做为样本的一个属性。在做GSEA分析时,其它基因按照与感兴趣基因的表达相关性排序进行后续分析。

这时应该怎么准备cls文件呢?

咱们先以一个时间序列样本的cls文件为例:

  • #numeric为固定写法,第一行,不需要修改
  • #Time名字随便取,这里是时间序列,取名Time#是必须的。
  • 3行是每个样品的处理时间,00小时11小时;每个时间3个重复,所以写了3遍;总共5个时间点,15个样品。
代码语言:javascript复制
#numeric
#Time
0 0 0 1 1 1 6 6 6 24 24 24 48 48 48

回到我们这个例子,还是8个样品,分别为samp 1 2 3 4 5 6 7 8,假如感兴趣基因是A,表达矩阵如下:

代码语言:javascript复制
Gene samp1 samp2 samp3 samp4 samp5 samp6 samp7 samp8
A 9 8 7 6 3 4 1 2
B . . . . . . . .
C . . . . . . . .

这时对应的cls文件这么写(注意一一对应关系)。Aexpr随便起的一个名字,代表A基因的表达。

代码语言:javascript复制
#numeric
#Aexpr
9 8 7 6 3 4 1 2

然后导入GSEA就可以分析了。需要注意的是选择合适的Ranking metric,如pearson相关性CosineManhattanEuclidean

基于相关性的GSEA操作展示

直接看动画,数据格式也有展示,GMT文件是自己整理的。这是1我们单细胞和群体转录组课程的一个小环节 (回头把这部分视频拆出来放到腾讯课堂供访问)。

公众号看不了动画,截图两张。

讨论学习是个很好的方式,欢迎大家有问题发到train@ehbio.com,信息的,问题可重现的,或有意思的开放问题我们都会给予解决,写个推文发出,既方便自己,又方便他人。

0 人点赞