自定义基因集,运行GSEA

GSEA涉及到很多文件格式,参考:GSEA数据格式

在《GTEx: 如何找组织特异表达的基因》中,已经讨论了如何求组织特异表达的基因集,这里直接使用。分析内容参考文献:Tissue-specific transcription reprogramming promotes liver metastasis of colorectal cancer:

  • The log 2 ratios were computed for several datasets with normalized expression data in different conditions;
  • the preranked Gene Set Enrichment Analysis was performed with
    tissue-associated gene sets and dataset with default parameters
1. 准备基因集gmt文件
#去掉交集
Liver_specific_gene <- setdiff(Liver$Description,Colon_Sigmoid$Description)
Colon_Sigmoid_specific_gene <- setdiff(Colon_Sigmoid$Description,Liver$Description)
##转为GMT格式
df_forGMT <- data.frame(
  Liver=c("Liver_specific",Liver_specific_gene),
  Colon=c("Colon_specific",Colon_Sigmoid_specific_gene,rep("NANANANA",242))
)
write.table(t(df_forGMT),"Liver_Colon_specific.gmt",quote=F,sep="\t",row.names=T,col.names=F)

$ sed -i 's/\tNANANANA//g' Liver_Colon_specific.gmt
2. 在GEO上下载表达矩阵,并整理
less -S GSE50760_series_matrix.txt | grep "Sample_title" | sed 's/\t/\n/g' | grep "Sample_title" -v | sed 's/"//g' > sample.info

paste *.1_FPKM.txt *.3_FPKM.txt | awk '{for (i=2;i<=72;i=i+2) printf("%s\t",$i);printf("\n")}' > tmp1

less -S GSM1228184_AMC_2.1_FPKM.txt | cut -f1 > tmp2

paste tmp2 tmp1 > gene_sample_fpkm.matrix.txt #这个文件第1列可能有乱七八糟的名称,并且还可能重复,需要自己过滤一下

less -S gene_sample_fpkm.matrix.txt | cut -f1 |sort  | uniq -c | head -n 4
      1 01-Dec
      2 01-Mar
      1 01-Sep
      2 02-Mar
3. 准备RNK文件
#准备数据
gene_list <- read.table("gene_sample_fpkm_filter.matrix.txt",header = T,row.names = 1,stringsAsFactors = F)

averaged_fpkm <- data.frame(
  primary_CRC=rowSums(gene_list[,1:18])/18,
  liver_met=rowSums(gene_list[,19:36])/18
)

averaged_fpkm$sum <- averaged_fpkm$liver_met+averaged_fpkm$primary_CRC
averaged_fpkm$Name <- rownames(averaged_fpkm)
##过滤一部分表达值很低的基因
averaged_fpkm <- averaged_fpkm%>%filter(sum>0.1) #0.1是我想当然的一个值
averaged_fpkm$logFC <- log2(averaged_fpkm$liver_met/averaged_fpkm$primary_CRC)
averaged_fpkm <- averaged_fpkm%>%filter(averaged_fpkm$logFC != "NaN")
averaged_fpkm <- averaged_fpkm%>%filter(abs(averaged_fpkm$logFC) != "Inf") #NaN, Inf, -Inf都不合理,需要滤掉
averaged_fpkm$rank <- rank(averaged_fpkm$logFC)
averaged_fpkm <- arrange(averaged_fpkm,desc(rank))
##保存为RNK文件
write.table(as.data.frame(averaged_fpkm[,4:5]),"averaged_fpkm.rnk",quote=F,sep="\t",row.names=F,col.names=F)
4. 使用桌面版的GSEA

下载链接:http://software.broadinstitute.org/gsea/downloads.jsp
桌面版的使用很简单,并且报错提示信息很丰富,不怕出问题。

4.1 使用prerank模式

NES: 2.61; FDR q-val: 0.000。

4.2 一般用法

需要三个文件:基因集gmt、表型文件cls、基因表达文件gct
gct

cls

gmt

需要注意获取gct文件不能用原始表达矩阵,原始表达矩阵的两种class求ratio可能得到正负无穷和NaN,需要提前过滤一下。

得到的富集图形跟上面那个一样,就不放了。NES: 1.24, FDR q-val: 0.043。

5. 使用Python版的GSEA--GSEAPY
conda install -c bioconda gseapy
PS C:\Users\15927\Desktop\tmp> gseapy prerank -r .\averaged_fpkm.rnk -g .\Liver_Colon_specific.gmt -l met pri -o prerank_report_tmp --max-size 1000

优点是图形上增加了统计值

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,029评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,395评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,570评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,535评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,650评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,850评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,006评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,747评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,207评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,536评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,683评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,342评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,964评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,772评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,004评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,401评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,566评论 2 349