GSEA的分析汇总-转载

GSEA的分析汇总

学习GSEA

生信技能树

GSEA的统计学原理试讲

GSEA

GSEA这个java软件使用非常方便,只需要根据要求做好GCT/CLS格式的input文件就好了。我以前也写过用法教程:

原理

但说到统计学原理,就有点麻烦了,我试着用自己的思路阐释一下:

假设芯片或者其它测量方法测到了2万个基因,那么这两万个基因在case和control组的差异度量(六种差异度量,默认是signal 2 noise,GSEA官网有提供公式,也可以选择大家熟悉的foldchange)肯定不一样。

那么根据它们的差异度量,就可以对它们进行排序,并且Z-score标准化,在下图的最底端展示的就是

image

那么图中间,就是我们每个gene set里面的基因在所有的2万个排序好基因的位置,如果gene set里面的基因集中在2万个基因的前面部分,就是在case里面富集,如果集中在后面部分,就是在control里面富集着。

而最上面的那个ES score的算法,大概如下:

image

仔细看,其实还是能看明白的,每个基因在每个gene set里面的ES score取决于这个基因是否属于该gene set,还有就是它的差异度量,上图的差异度量就是FC(foldchange),对每个gene set来说,所有的基因的ES score都要一个个加起来,叫做running ES score,在加的过程中,什么时候ES score达到了最大值,就是这个gene set最终的ES score!

算法解读我参考的PPT,反正我是看懂了,但不一定能讲清楚:

http://bioinformatics.mdanderson.org/MicroarrayCourse/Lectures09/gsea1_bw.pdf
https://bioinformatics.cancer.gov/sites/default/files/course_material/GSEA_Theory.pptx
http://compbio.ucdenver.edu/Hunter_lab/Phang/downloads/files/GSEA.ppt
https://www.ncbi.nlm.nih.gov/pmc/articles/PMC1239896/
http://www.baderlab.org/CancerStemCellProject/VeroniqueVoisin/AdditionalResources/GSEA

软件还有大把的参数可以调整,自行摸索!

用GSEA来做基因集富集分析

how to use GSEA?

这个有点类似于pathway(GO,KEGG等)的富集分析,区别在于gene set(校验好的基于文献的数据库)的概念更广泛一点

how to download GSEA ?

http://software.broadinstitute.org/gsea/downloads.jsp
教程:http://software.broadinstitute.org/gsea/doc/desktop_tutorial.jsp ,需要自己安装好java环境!

what's the input for the GSEA?

说明书上写的输入数据是:GSEA supported data files are simply tab delimited ASCII text files, which have special file extensions that identify them. For example, expression data usually has the extension *.gct, phenotypes *.cls, gene sets *.gmt, and chip annotations *.chip. Click the More on file formats help button to view detailed descriptions of all the data file formats.

并且提供了测试数据:http://software.broadinstitute.org/gsea/datasets.jsp

实际上没那么复杂,一个表达矩阵即可!然后做一个分组说明的cls文件即可。

主要是自己看说明书,做出要求的数据格式:http://www.broadinstitute.org/cancer/software/gsea/wiki/index.php/Data_formats

表达矩阵我这里下载GSE1009数据集做测试吧!

cls的样本说明文件,就随便搞一搞吧,下面这个是例子:

6 2 1
# good bad
good good good bad bad bad

文件如下,六个样本,根据探针来的表达数据,分组前后各三个一组。

image

start to run the GSEA !

首先载入数据

image

确定无误,就开始运行,运行需要设置一定的参数!

image

what's the output ?

输出的数据非常多,对你选择的gene set数据集里面的每个set都会分析看看是否符合富集的标准,富集就出来一个报告。

点击success就能进入报告主页,里面的链接可以进入任意一个分报告。

最大的特色是提供了大量的数据集:

You can browse the MSigDB from the Molecular Signatures Database page of the GSEA web site or the Browse MSigDB page of the GSEA application. To browse the MSigDB from the GSEA application:

还自己建立了wiki说明主页:http://www.broadinstitute.org/cancer/software/gsea/wiki/index.php/Main_Page

参考文献

有些文献是基于GSEA的:

http://www.ncbi.nlm.nih.gov/pubmed/16199517
http://stke.sciencemag.org/highwire/filestream/4681053/field_highwire_adjunct_files/1/2001966_Slides.zip
http://www.ingentaconnect.com/content/ben/cbio/2007/00000002/00000002/art00003
http://www.nature.com/articles/ng0704-663a
http://bioinformatics.oxfordjournals.org/content/23/23/3251.short
http://link.springer.com/article/10.1007/s00335-011-9359-x

IDENTIFICATION OF HIGH-COPPER-RESPONSIVE TARGET PATHWAYS IN ATP7B KNOCKOUT MOUSE LIVER BYGSEA ON MICROARRAY DATA SETS

COMPARISON OF INVARIANT NKT CELLS WITH CONVENTIONAL T CELLS BY USING GENE SET ENRICHMENT ANALYSIS (GSEA)

批量运行GSEA,命令行版本

之前用过有界面的那种,那样非常方便,只需要做好数据即可,但是如果有非常多的数据,每次都要点击文件,点击下一步,也很烦,不过,,它既然是java软件,就可以以命令行的形式来玩转它!

一、程序安装

直接在官网下载java版本软件即可:http://software.broadinstitute.org/gsea/downloads.jsp

二、输入数据

需要下载gmt文件,自己制作gct和cls文件,或者直接下载测试文件p53
http://www.broadinstitute.org/cancer/software/gsea/wiki/index.php/Data_formats

image

三、运行命令

hgu95av2的芯片数据,只有一万多探针,所以很快就可以出结果

 java -cp gsea2-2.2.1.jar  -Xmx1024m xtools.gsea.Gsea   -gmx c2.cp.kegg.v5.0.symbols.gmt  \
 -res P53_hgu95av2.gct  -cls P53.cls   -chip  chip/HG_U95Av2.chip  -out result -rpt_label p53_example

这个参数其实非常多,见文件http://software.broadinstitute.org/gsea/doc/linkedFiles/GSEAParameters.txt

image

四、输出数据

image

自己看官网去理解这些结果咯!

需要下载的数据如下:

http://software.broadinstitute.org/gsea/downloads.jsp

都是gmt格式的文件!

CP: CANONICAL PATHWAYS(BROWSE 1330 GENE SETS) Gene sets from the pathway databases. Usually, these gene sets are canonical representations of a biological process compiled by domain experts. details Download GMT Filesoriginal identifiersgene symbolsentrez genes ids
CP:BIOCARTA: BIOCARTA GENE SETS(BROWSE 217 GENE SETS) Gene sets derived from the BioCarta pathway database (http://www.biocarta.com/genes/index.asp). Download GMT Filesoriginal identifiersgene symbolsentrez genes ids
CP:KEGG: KEGG GENE SETS(BROWSE 186 GENE SETS) Gene sets derived from the KEGG pathway database (http://www.genome.jp/kegg/pathway.html). Download GMT Filesoriginal identifiersgene symbolsentrez genes ids
CP:REACTOME: REACTOME GENE SETS(BROWSE 674 GENE SETS) Gene sets derived from the Reactome pathway database (http://www.reactome.org/). Download GMT Filesoriginal identifiersgene symbolsentrez genes ids

然后做出表达数据gct文件和cls表型文件~

见:http://www.broadinstitute.org/cancer/software/gsea/wiki/index.php/Data_formats

然后就可以直接运行了

如果是芯片数据,第一列是芯片探针,那么还需要下载chip数据:ftp://ftp.broadinstitute.org/pub/gsea/annotations

制作自己的gene set文件给gsea软件

gene set

熟悉GSEA软件的都知道,它只需要GCT,CLS和GMT文件,其中GMT文件,GSEA的作者已经给出了一大堆!就是记录broad的Molecular Signatures Database (MSigDB) 已经收到了18026个geneset, 但是我奇怪的是里面竟然没有包括cancer testis的gene set,MSigDB的确是多,但未必全,其实里面还有很多重复。而且有不少几乎没有意义的gene set。那我想做自己的gene set来用gsea软件做分析,就需要自己制造gmt格式的数据。因为即使下载了MSigDB的gene set,本质上就是gmt格式的数据而已:http://software.broadinstitute.org/cancer/software/gsea/wiki/index.php/Data_formats#GMT:Gene_Matrix_Transposed_file_format.28.2A.gmt.29

image

我们首先要拿到自己感兴趣的gene set里面的gene list,最好是以hugo规定的标准symbol。
比如我感兴趣的是 :http://www.cta.lncc.br/modelo.php

我这里提供一个2列的文件,直接转换成gmt的R代码!

文件来自于:下载最新版的KEGG信息,并且解析好,如下:

image

首先在R里面赋值一个变量path2gene_file就是图中的kegg2gene.txt文件,读到R里面去

tmp=read.table(path2gene_file,sep="\t",colClasses=c('character'))
# tmp=toTable(org.Hs.egPATH)
# first column is kegg ID, second column is entrez ID
GeneID2kegg_list<<- tapply(tmp[,1],as.factor(tmp[,2]),function(x) x)
kegg2GeneID_list<<- tapply(tmp[,2],as.factor(tmp[,1]),function(x) x)

这个变量kegg2GeneID_list是一个list,因为是entrez gene ID,需要转换成symbol,我就不多说了,转换后的数据,就是kegg2symbol_list 。

最后对 kegg2symbol_list 输出成gmt文件:

write.gmt <- function(geneSet=kegg2symbol_list,gmt_file='kegg2symbol.gmt'){
sink( gmt_file )
for (i in 1:length(geneSet)){
cat(names(geneSet)[i])
cat('\tNA\t')
cat(paste(geneSet[[i]],collapse = '\t'))
cat('\n')
}
sink()
}

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

推荐阅读更多精彩内容