R读取gmt文件
2022-02-24 本文已影响0人
生信交流平台
前面我们简单介绍过什么是gmt文件,基因矩阵转置文件格式(* .gmt)。今天我们就用R来去读gmt文件。
首先我们从GESA(https://www.gsea-msigdb.org/gsea/downloads.jsp)的官网上,下载一个gmt文件。这里以KEGG的gmt文件为例,其他gmt文件的读取方法一样。
c2.cp.kegg.v7.0.symbols.gmt这个文件里面保存的是基因的名字,
而c2.cp.kegg.v7.0.entrez.gmt这个文件里面保存的是基因的Entrez gene id,
Entrez gene id一般是以一串数字代表一个基因,这串数字直接贴到NCBI里面就可以查找到对应的基因名字了。
下面我们会用两种不同的方法来将KEGG symbol的gmt文件读到R里,并转换成列表。由于gmt文件的每一行都是不一样长的,所以传统的read.table在这里是毫无用武之地的。
方法一:
x <- readLines("c2.cp.kegg.v7.0.symbols.gmt")
该方法会将KEGG通路的名字作为列表中每个元素的名字,然后将前两列删掉,剩下的基因名字作为列表的元素
方法二:
dat = readLines("c2.cp.kegg.v7.0.symbols.gmt")
该方法,会保留gmt文件中的所有信息,结果会生成一个复杂的数据结构,列表里面嵌套列表。res为列表,长度为3,分别保存genesets,KEGG通路名字和数据来源,而geneset也是一个列表,里面保存186条KEGG通路上的所有基因名字。