在拿到单细胞数据之后,我们指的跑完了cellranger 、scater、singleR、 seurat、monocle这些培训班老师带你走完的流程之后,要进一步的挖掘或者辅助挖掘往往就要和具体的生物学过程结合到一起了。所谓的数据挖掘,就是带着少量已知向未知进军的过程。
单细胞转录组数据分析离不开cell和gene两个层面,那么gene除了做做pathway之外还能做什么呢?当然是看看有没有和疾病有关的信息啊。已经有人给你贮备好了:
(A)语义相似矩阵热图;(B)疾病和基因关联网络;(C)浓缩结果的条形图;(D)富集分数的累加和图及其与表型的关系,(E)不同基因组间疾病关系的比较
描述疾病与疾病之间的关系以及挖掘基因与疾病之间的关联为分析高通量数据以阐明复杂疾病的分子机制提供了新思路。了解疾病之间的相似性和疾病环境中的基因之间的相似性有助于早期诊断、药物的重新利用和新药的开发。通过高通量实验获得的基因列表(gene list)研究基因-疾病之间的关系有助于探索疾病环境中的生物学问题并发现未预料到的功能。
疾病本体论(DO)从疾病的角度对基因进行了一致的描述。DO数据库(Schriml et al., 2012)为研究人员提供了更易于访问的疾病知识,为用户提供了一个浏览DO词汇表的web浏览器,而disease and gene annotations数据库(Peng et al., 2013)提供了一个绘制基因和疾病的web界面。DO被组织成一个有向无环图,为使用语义相似算法计算疾病知识奠定了基础。用于计算语义度量的通用质量工具有很多,包括SML、SimPack、SemMF、OWLSim和相似度库(http://goo.gl/3xCuJ6)。这些通用库可用于分析DO语义相似性。DOSim (Li et al., 2011)是专为DO设计的,但作者未能维护该包。Functional DO (FunDO) (Osborne et al., 2009)采用超几何检验评估DO与基因列表的显著相关性。然而,FunDO不允许用户自定义背景基因,因此可能会在结果中引入偏差。
为了解决R/Bioconductor package缺乏语义计算和基于DO的富集分析的缺点,我们提出了DOSE,它允许使用几种基于信息内容和图结构的算法来测量DO术语和基因之间的语义相似性。为了评估高通量基因组和蛋白质组研究的基因列表的功能相关性,DOSE支持超几何检验和基因集富集分析(GSEA),它们结合表达水平的测量来提取生物学实验的疾病相关性。更重要的是,DOSE提供了几个特定于do的可视化功能,以生成高度可定制的、发布质量高的相似度和丰富度分析数据,这在其他地方是不可用的。利用这些可视化工具,DOSE得到的结果更具有可解释性。
公共卫生是生物和医学研究的重要推动力。后基因组时代的一个主要挑战是弥合基础生物学研究与临床应用之间的鸿沟。最近的研究越来越多地表明,许多看似不同的疾病具有共同的分子机制。了解疾病艾滋病在早期诊断和新药开发方面的相似性。
因此,需要基因-疾病关联的正式知识表示。诸如基因本体论(GO)等本体论已被成功地应用于表达生物知识,许多相关技术也被用于提取信息。疾病本体论(Disease Ontology, DO)(Schriml et al. 2011)是为了从疾病的角度对基因产品进行一致的描述而开发的,它对于理解疾病背景下的功能基因组学非常重要。准确的疾病描述可以发现基因与疾病之间的新关系,以及以前未知的基因和等位基因的新功能。
与其他临床词汇对疾病相关概念的定义不同,DO被组织成一个有向无环图,为疾病知识的定量计算奠定了基础。在此,我们提出了一个R包[Yu et al.(2015)],用于分析DO术语与标注DO术语的基因产品之间的语义相似性。
DOSE(Yu et al. 2015)支持疾病本体论(Disease Ontology,DO)语义学(Semantic )和富集分析。enrichDO
对于识别感兴趣基因的疾病关联是非常有用的,而gseDO
函数是为基因集富集分析而设计的。
此外,DOSE还支持Cancer Gene Network (NCG)的富集分析(A。以及疾病基因网络(Janet et al. 2015),请参阅DOSE
DO term semantic similarity measurement
Resnik(Philip 1999)、Jiang(Jiang and Conrath 1997)、Lin(Lin 1998)和Schlicker(Schlicker et al. 2006)提出了四种基于共同祖先词信息含量来确定两个词语义相似度的方法。Wang(Wang et al. 2007)提出了一种基于图结构的相似性度量方法。这些方法各有其优缺点。DOSE实现了所有这些方法来计算DO术语和基因产物之间的语义相似度。我们开发了另一个包GOSemSim(Yu et al. 2010),从GO的角度探索功能相似性,包括分子功能(MF)、生物过程(BP)和细胞成分(CC)。
关于算法的细节,请参考:GOSemSim.
doSim function
我们实现了doSim来计算两个DO术语和两个DO术语集之间的语义相似度。
> a <- c("DOID:14095", "DOID:5844", "DOID:2044", "DOID:8432", "DOID:9146",
+ "DOID:10588", "DOID:3209", "DOID:848", "DOID:3341", "DOID:252")
> b <- c("DOID:9409", "DOID:2491", "DOID:4467", "DOID:3498", "DOID:11256")
> doSim(a[1], b[1], measure="Wang")
[1] 0.07142995
> doSim(a[1], b[1], measure="Resnik")
[1] 0
> doSim(a[1], b[1], measure="Lin")
[1] 0
> s <- doSim(a, b, measure="Wang")
> s
DOID:9409 DOID:2491 DOID:4467 DOID:3498 DOID:11256
DOID:14095 0.07142995 0.05714393 0.03676194 0.03676194 0.52749870
DOID:5844 0.14897652 0.11564838 0.02801328 0.02801328 0.06134327
DOID:2044 0.14897652 0.11564838 0.02801328 0.02801328 0.06134327
DOID:8432 0.17347273 0.13877811 0.03676194 0.03676194 0.07142995
DOID:9146 0.07142995 0.05714393 0.03676194 0.03676194 0.17347273
DOID:10588 0.13240905 0.18401515 0.02208240 0.02208240 0.05452137
DOID:3209 0.14897652 0.11564838 0.02801328 0.02801328 0.06134327
DOID:848 0.14897652 0.11564838 0.02801328 0.02801328 0.06134327
DOID:3341 0.13240905 0.09998997 0.02208240 0.02208240 0.05452137
DOID:252 0.06134327 0.04761992 0.02801328 0.02801328 0.06134327
>
doSim函数需要三个参数DOID1、DOID2和测量。DOID1和DOID2应该是DO项的向量,而measure应该是Resnik、Jiang、Lin、Rel和Wang中的一个。
我们还实现了一个plot函数simplot来可视化相似结果。
simplot(s,
color.low="white", color.high="red",
labs=TRUE, digits=2, labs.size=5,
font.size=14, xlab="", ylab="")
Gene semantic similarity measurement
在DO术语语义相似度的基础上,DOSE还可以计算出基因产品之间的语义相似度。DOSE提供了max、avg、rcmax、BMA四种方法来结合多个DO术语的语义相似度得分。利用这些组合方法计算了多DO标记的基因与基因簇之间的相似性。计算细节请参考 GOSemSim
geneSim function
在DOSE中,我们使用了geneSim来测量基因之间的语义相似性。
> g1 <- c("84842", "2524", "10590", "3070", "91746")
> g2 <- c("84289", "6045", "56999", "9869")
> geneSim(g1[1], g2[1], measure="Wang", combine="BMA")
[1] 0.051
> gs <- geneSim(g1, g2, measure="Wang", combine="BMA")
> gs
84289 6045 56999 9869
84842 0.051 0.135 0.355 0.103
2524 0.284 0.172 0.517 0.517
10590 0.150 0.173 0.242 0.262
3070 0.573 0.517 1.000 1.000
91746 0.351 0.308 0.527 0.496
clusterSim and mclusterSim
> clusterSim(g1, g2, measure="Wang", combine="BMA")
[1] 0.549
> g3 <- c("57491", "6296", "51438", "5504", "27319", "1643")
> clusters <- list(a=g1, b=g2, c=g3)
> mclusterSim(clusters, measure="Wang", combine="BMA")
a b c
a 1.000 0.549 0.425
b 0.549 1.000 0.645
c 0.425 0.645 1.000
MeSH semantic analysis
MeSH(医学主题词)是NLM的受控词汇表,用于为MEDLINE/PubMed手动索引文章。meshes支持丰富(超几何测试和GSEA)和语义相似分析超过70种。
enrichDO function
在下面的例子中,我们选择1.5以上的FC变化作为差异基因,并分析它们的疾病关联。
library(DOSE)
data(geneList)
gene <- names(geneList)[abs(geneList) > 1.5]
head(gene)
DOSE
DOSE: an R/Bioconductor package for disease ontology semantic and enrichment analysis