title: "用GOsemsim包来比较不同gene或者gene set之间的相似性"
author: Derek Kam
documentclass: ctexart
output:
rticles::ctex:
fig_caption: yes
number_sections: yes
toc: yes
classoption: "hyperref,"
geometry: "left=3cm,right=3cm,top=2cm,bottom=2cm"
为什么要用这个R包
有时候会有这样的分析需求,拿到两个基因,或者两个基因list,虽然它们是不同的基因的,但是可以提一个问题,它们之间的功能注释上有没有相似性呢?
特别是,我以前比较两个基因List,只是看它们之间有多少overlap,如果overlap小,则说明这两个gene list很不一样。但是实际上并不是这样的。有可能这两个gene list中的基因是有着相似的功能,只不过是gene ID不相同罢了。这时候,GOsemsim包就派上用场了。
GOsemsim: semantic similarity measurement based on Gene ontology,也就是用基因注释的方法来分析不同的基因或者基因list的相似性。
主要函数如下:
goSim
and mgoSim
Calculate semantic similarity between two GO terms and two sets of GO terms
geneSim
and mgeneSim
Calculate semantic similarity between two gene products and among multiple gene products
clusterSim
and mclusterSim
Semantic similarity between two gene lists and multiple gene lists
下次再比较不同gene或者gene list的时候,就可以用这个包试试,算出的值越倾向于1,则表明这两个gene list或者gene越相似。
应用实例
大鼠mCAO基因芯片分析得出差异基因list1 与 mCAO miRNA测序得出的差异基因 list2 ,现在欲知两list基因相似程度
list1 <- read.csv("nrDEG_adjp.csv")
head(list1,3)
dim(list1)
library(clusterProfiler)
library(org.Rn.eg.db)
l1 <- bitr(list1$X,"SYMBOL","ENTREZID",OrgDb = "org.Rn.eg.db")
head(l1,3)
list2 <- read.csv("T3hFC2diff.csv")
head(list2,3)
dim(list2)
l2 <- bitr(list2$X,"SYMBOL","ENTREZID",OrgDb = "org.Rn.eg.db")
library(GOSemSim)
d <- godata('org.Rn.eg.db', ont="MF", computeIC=FALSE)
sem <- clusterSim(l1$ENTREZID,l2$ENTREZID,semData = d,measure = "Wang")
print(sem)
结果解读
sem=0.824,说明这2组基因虽然数量、名称有出入,但经过分析,BP功能还是挺相近的
不知道能否可视化得到一些图标或者表格,能更好的表达结果.这点我得去请教Y叔了。
网友评论