Pathview网站简介
网址:https://pathview.uncc.edu/
前段时间介绍了一个R包 — Pathview
。它可以整合表达谱数据并可视化KEGG通路,操作是先自动下载KEGG官网上的通路图,然后整合输入数据对通路图进行再次渲染。从而对KEGG通路图进行一定程度的个性化处理,并且丰富展示信息。
Pathview包6大功能分别是:化合物和基因集同时绘制在通路上,多状态或样本同时或分开绘制,展示离散数据标记上下调或是否存在,不同来源的ID的转换和映射,不同物种使用时名称的处理和未注释物种的处理 (直接用于宏基因组或微生物组数据)。具体见Pathview包:整合表达谱数据可视化KEGG通路
Pathview网站是在该包的基础上,对一些核心功能进行延伸:
-
简单直观的图形使用界面。
-
用的是
RESTful API
,因此访问速度很快。(该API是一个bash
脚本,通过cURL
使用。cURL是一个利用URL语法在命令行下工作的文件传输工具) -
有完整的通路分析流程,支持多组学数据和整合分析。
-
交互式并带有超链接的结果图能更好地解释数据。
-
通过同步常规数据库获得最完整以及最新的通路数据。
-
所有资源和分析都是开源的。
-
注册免费,登录之后可以共享数据和保存分析历史。
-
有完整的在线
Help
和帮助文档。 -
多个示例带你快速上手使用。
输入数据
输入数据是最重要的且是唯一一个没有默认值的选项。储存数据矩阵的文件格式都是以tab
或者逗号分隔的txt或者csv文件,点击编辑框可设置对照组和处理组样本。
数据类型主要分为两类:
-
任何类型基因数据(表达谱、组蛋白修饰、染色质开放性等)的数据表,需要包含一列基因ID用于数据映射,比如
ENTREZ Gene
,Symbol
,RefSeq
,GenBank Accession Number
,Enzyme Accession Number
等等,在选项框中共有13种基因ID可选。这里的基因数据是一个广泛的概念,包括基因、转录本、蛋白质、酶及其表达、修饰和任何可测量的属性。基因数据文件的第一列是基因ID,第一行是样本ID。如果文件只有一列基因ID也是可以的。 -
化合物数据也是如此,包括代谢物、药物、小分子和它们的测量值和属性,以及用于数据映射的化合物ID,选项框中化合物数据库ID共计22种,常用的是KEGG数据库ID。除了行是化合物,化合物数据文件格式和基因数据文件的基本一致(或许还需要指定样本列和实验设计)。
输出结果
结果主要是数据整合得到的通路图,有两种:原始KEGG
视图和Graphviz
视图。
-
原始KEGG视图将数据渲染到KEGG通路图(栅图,比如png格式),带有大量的前后关系和元数据,解释性更强。浏览器版本中该图是可交互的,每个
Node
都带有超链接,可点击它们转到更详细的解释。
-
3种不同形状表示不同的对象。
-
4种箭头表示四种对象之间的关系。
-
12种蛋白质-蛋白质相互作用关系
-
4种基因表达之间的关系。
-
1种酶-酶关系:两步连续反应。
-
Graphviz
视图是使用Graphviz引擎(矢量图,如pdf格式)渲染的通路图,在点/线属性和图形拓扑上更好理解。
-
16种连线类型
-
4种节点类型
操作
网页版用示例展示了4个主要功能:多样本的KEGG
视图,多样本的Graphviz
视图,ID mapping
和整合通路分析。最后一个会得到可视化文件和通路分析的结果统计文件(可下载),耗时较长。
该网站最突出的功能是ID mapping
,整合的Mapper
模块将13种的基因或者蛋白质ID,22种化合物或者代谢物ID比对到标准KEGG的基因或化合物ID。换句话说,能将输入的不同类型的数据ID精准比对到目标KEGG通路。
输入和输出选项/Input&Output
物种|Species:对应物种的KEGG号,科学名称或公用名称,比如可以在该选项中直接选择KEGG Orthology
的KO
——ko-KEGG Orthology-N
。常用的是hsa
——home sapiens-human
。具体根据导入的数据类型判断。
通路选择|Pathway Selection:对于连续型数据采用GAGE(Generally Applicable Gene-set Enrichment
)方法或者离散型数据(比如基因或者化合物ID表)采用over-representation
方法做通路分析(GO、GSEA富集分析一网打进)
GAGE
是一种自限性原假设的基因集分析方法,充分利用了表达谱数据,并将表达数据分为实验集和通路集分别进行分析处理,会考虑到基因集的上调和下调,得到更为准确和科学的结果。
如果没有得到显著的通路,会自动选择靠前的几个通路。基因数据和化合物数据一起分析的时候,会先各自筛选通路,然后通过meta分析将结果组合成更强大的全局统计量/ p值。
Pathway Selection
一般建议选用auto
,这在不确定通路的情况下再适用不过。若想自定义几个通路,则可以选择Manual
。
通路ID|PathwayID:是KEGG的通路ID,一般是5位数字,当通路选择是auto
时该选项自动关闭。
输出后缀|Output Suffix:在结果文件名后面添加的后缀。
图形选项/Graphics
Kegg Native:有KEGG图形渲染(.png
)和Graphviz
引擎渲染(.pdf
)。Graphviz
引擎渲染可能会因为KEGG的xml数据文件缺失数据而丢失点。
Same Layer:图层控制
-
Kegg Native项被勾选时,点的颜色会和通路图在一个图层,修改颜色的时候,节点标签不变。
-
Kegg Native项未被勾选时,线/点类型的图例会在一个图层,节点标签也会从原来的
KEGG
基因标签(或EC
编号)变为官方基因符号。
离散型(基因和化合物数据)|Discrete:基因数据或者化合物数据一般是作为连续型数据使用。但也可以选择被视为离散数据
,这样就可以以p值,倍数变化来选择显著的基因或者化合物列表,从而个性化标出离散数据中是否存在上下调。
但是网页版本没有设置选值的选项,还是Pathview
包更适合使用这个设置。
Keys Alignment:当基因数据和化合物数据都不为NULL
时如何对齐颜色标签。默认选项为“ x”(由x坐标对齐)和“ y”(由y坐标对齐)。
多状态|Multi State:默认值为TRUE
,判定多状态(指多个样本或多列)基因数据或化合物数据是否应该整合并绘制在一张图中。
换句话说,不勾选“Multi State”的情况下,基因或者化合物节点会切成多个来对应数据中的状况数或者样本数,即由”一张图每个节点多种颜色”变为”多张图每个节点一种颜色”。
数据匹配|Match Data:默认是TRUE
,判定基因数据或化合物数据的样本数是否匹配。
假设基因数据和化合物数据的样本大小分别为m和n(m>n),多余的空列NA(不加颜色显示)会在保证样本大小一致的情况下添加部分到化合物数据中,如此,才能在Multi State
为TRUE
时,得到相同数量的基因节点和化合物节点片段。
Signature Position:pathview的署名位置,默认是左下角
。选择“None”的时候不显示。
Key Position:颜色标签的位置,默认是“左上角”。一般上面是基因节点,下面是化合物节点。选择“None”的时候不显示。
化合物节点名偏移|Compound Label Offset:设置化合物节点标签在默认位置或者节点中心处的长度(仅在Kegg Native=FALSE时有用)。这个选项在化合物用全名标记时很实用,能决定化合物节点的外观。
颜色选项/Coloration
节点计算|Node Sum:在比对有多基因或化合物时选择计算节点总数的方法。默认值是Sum
,还有mean
,median
,max
,max.abs
和random
。
空值的颜色|NA Color:基因数据或者化合物数据中缺失值或NA值的颜色。选项有透明"transparent"
和灰色 "grey"
限制(基因和化合物)|Limit (Gene and Compound):基因数据或化合物数据转换为颜色时的限制值(即颜色标签的数值范围)。
这个选项是数值型的,一个框可以输入用逗号分隔的两个数字,比如“1,2”(不带引号)—— 第一个数字表示下限,第二个数字表示上限。输入单个值“n”的时候,网站认为范围是(-n, n)。
Bins (Gene and Compound): 在基因数据和化合物数据转换为颜色时,此参数可以设置颜色标签的长度。预设值为10。
Low, Mid, High (Gene and Compound):低,中,高(基因和化合物),这些参数可以选择“基因数据”和“化合物数据”的色谱。
“基因数据”和“化合物数据”的默认数据(低-中-高)分别是“绿色-灰色-红色”和“蓝色-灰色-黄色”。
这里既可以用颜色的通用名称(绿色,红色等),也可以用十六进制颜色代码(比如00FF00,D3D3D3
等)或颜色选择器指定颜色。
网页版优势
以上是网页版的参数选择,较Pathview
包而言少了Split Group|分组
和扩展节点|Expand Node
功能,个别参数的灵活性也待改进,但网页版不需要占用本地内存,KEGG视图的节点能超链接到更详细的信息,而且多通路分析作为网页版最大的优势,有着完整的通路分析流程,支持多组学数据和连接公共通路。
这一步在本地的话还需要用gage包得到基因集在KEGG数据库的所有通路分析结果,代码如下:
> library(gage)
> data(gse16873)
> cn <- colnames(gse16873)
> hn <- grep('HN',cn, ignore.case =TRUE)
> dcis <- grep('DCIS',cn, ignore.case =TRUE)
> data(kegg.gs)
> #pathway analysis using gage 用gage做通路分析
> gse16873.kegg.p <- gage(gse16873, gsets = kegg.gs,
+ ref = hn, samp = dcis)
> #prepare the differential expression data 准备差异表达数据
> gse16873.d <- gagePrep(gse16873, ref = hn, samp = dcis)
> #equivalently, you can do simple subtraction for paired samples 得到成对的样本
> gse16873.d <- gse16873[,dcis]-gse16873[,hn]
> #select significant pathways and extract their IDs 得到重要通路的ID
> sel <- gse16873.kegg.p$greater[, "q.val"] < 0.1 & !is.na(gse16873.kegg.p$greater[,
+ "q.val"])
> path.ids <- rownames(gse16873.kegg.p$greater)[sel]
> path.ids2 <- substr(path.ids[c(1, 2, 7)], 1, 8)
> #pathview visualization Pathview可视化
> pv.out.list <- sapply(path.ids2, function(pid) pathview(gene.data = gse16873.d[,
+ 1:2], pathway.id = pid, species = "hsa"))
网页版本实现方式如下——Example 4
:
导入必要的数据,这里主要是设置了Pathway Selection
为auto
,选完之后点Submit
就能得到完整分析结果,出来的页面的中心处是设置说明,右侧Completed下是分析结果和分析日志。
展示的是6种结果中的oxidative phosphorylation
-氧化磷酸化代谢途径的结果。
完整结果可看:
https://pathview.uncc.edu/resultview?analyses=5ddcd97621bd9&id=hsa-Homo%20sapiens&suffix=multistatekegg&autopathwayselection=True