GSEA(Gene Set Enrichment Analysis)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GSEA(Gene Set Enrichment Analysis)相关的知识,希望对你有一定的参考价值。

参考技术A

1.有可能在多重假设检验后不存在具有统计学意义的差异基因存在;
2.又或者,具有统计学意义的基因很多,但并不富集于统一的生物学主题;相应的阐述可能冗长、主观,主要依赖生物学家的专业知识;
3.单基因分析可能丢失对通路影响的重要信息;细胞过程通常会对多个基因造成影响; 代谢通路中所有编码基因的表达增加20%对通路造成的影响可能比单个基因增加20倍更重要;
4.不同的课题组研究同一种生物现象时,得到的具有统计学意义的基因list的overlap很少;

1.在基因集的水平上进行分析;
2.基于先验的生物学知识(基因集S);
3.不具有统计学意义的基因也会考虑进去(Gene List L);
4. 目的: 观察基因集S中的基因在L中是随机分布还是集中在top/bottom(预期是如果富集,会呈现出后面的分布);

不咋华丽的分割线,结合上clusterprofiler的gseKEGG函数理解下:

课程分享
生信技能树全球公益巡讲
( https://mp.weixin.qq.com/s/E9ykuIbc-2Ja9HOY0bn_6g )
B站公益74小时生信工程师教学视频合辑
( https://mp.weixin.qq.com/s/IyFK7l_WBAiUgqQi8O7Hxw )
招学徒:
( https://mp.weixin.qq.com/s/KgbilzXnFjbKKunuw7NVfw )

[测试题]gene

Description

Input

Output

Sample Input

3
A+00A+A+ 00B+D+A- B-C+00C+

Sample Output

bounded

Hint

题解

 1 //It is made by Awson on 2017.9.19
 2 #include <map>
 3 #include <set>
 4 #include <cmath>
 5 #include <ctime>
 6 #include <queue>
 7 #include <stack>
 8 #include <cstdio>
 9 #include <string>
10 #include <vector>
11 #include <cstdlib>
12 #include <cstring>
13 #include <iostream>
14 #include <algorithm>
15 #define LL long long
16 #define Max(a, b) ((a) > (b) ? (a) : (b))
17 #define Min(a, b) ((a) < (b) ? (a) : (b))
18 #define Abs(a) ((a) < 0 ? (-(a)) : (a))
19 using namespace std;
20 
21 int n;
22 
23 int getnum(char x, char y) {
24     if (x == \'0\') return 52;
25     return x-\'A\'+26*(y == \'+\');
26 }
27 void work() {
28     char ch[10];
29     bool mp[100][100] = {0};
30     int in[100] = {0};
31     for (int T = 1; T <= n; T++) {
32         scanf("%s", ch+1);
33         for (int i = 1; i <= 8; i += 2)
34             for (int j = 1; j <= 8; j += 2)
35                 if (i != j) {
36                 int x = getnum(ch[i], ch[i+1]);
37                 int y = getnum(ch[j], ch[j+1]);
38                 if (x == 52 || y == 52) continue;
39                 if (y < 26) y += 26;
40                 else y -= 26;
41                 mp[x][y] = true;
42             }
43     }
44     for (int i = 0; i <= 52; i++)
45         for (int j = 0; j <= 52; j++)
46             if (mp[i][j]) in[j]++;
47     int cnt = 0;
48     queue<int>Q;
49     while (!Q.empty()) Q.pop();
50     for (int i = 0; i <= 52; i++)
51         if (!in[i]) Q.push(i);
52     while (!Q.empty()) {
53         int u = Q.front(); Q.pop();
54         cnt++;
55         for (int i = 0; i <= 52; i++)
56             if (mp[u][i]) {
57                 in[i]--; 
58                 if (!in[i]) Q.push(i);
59             }
60     }
61     printf("%s\\n", cnt < 53 ? "unbounded" : "bounded");
62 }
63 
64 int main() {
65     freopen("gene.in", "r", stdin);
66     freopen("gene.out", "w", stdout);
67     while (~scanf("%d", &n))
68         work();
69     return 0;
70 }

 

以上是关于GSEA(Gene Set Enrichment Analysis)的主要内容,如果未能解决你的问题,请参考以下文章

MAGENTA: Meta-Analysis Gene-set Enrichment of variaNT Associations

Enrichment Map User guide用户指南

GSVA全名Gene set variation analysis(基因集变异分析)简介

富集分析第二弹

GSEA分析

GSEA 分析