用pathview包给KEGG pathway涂色

 前几天有个客户给过来一个需求,简单说就是一堆基因列表附带数值,需要将其按照数值不同涂色在KEGG pathway上。

       这个活儿我还真没干过,记得KEGG官网上有工具,去看了一下,现在叫KEGG mapper,弄了半天居然没弄懂。

       算了,换个别的工具吧。

记得clusterProfiler包里有涂色工具,去查了下,是来源于pathview包的,于是看了下后者,这个包其实主要就一个函数就叫pathview,大致研究了一下,连参数详情都没有遍览呢,反正不需要画compound什么的,试了几下画成功了,就把代码记录下来。

       以后有更复杂的需求再研究一下这个包吧。


       pathview包可以画(涂色)两类图,一类是KEGG pathway map,另一类是使用Gviz包画的图。Gviz我还没开始学习呢,先搁置,反正目前无此需求。

       我的数据整理了一下,共两列。第一列为Entrez ID,第二列为基因数值,在此处它的范围是-90~90。物种为大鼠。

       先以cell cycle这个pathway为例来画图吧,map id为04110。

       pathview函数要求的输入数据为vector或者matrix,vector是单样本时的数据,元素名称就是gene ID。matrix适用于多样本情况下。

       这里一个样本我照样用matrix吧。

       代码如下:

>library(pathview)

>demo<-read.table(file="demo.txt",sep="\t",,header= TRUE)

#demo数据为两列,第一列为EntrezID,第二列为基因变化数据

>head(demo)

>rownames(demo)<-demo[,1]

#将行命名为EntrezID

>head(demo)

>demo.data<-data.matrix(demo)

>class(demo.data)

>pv.out<-pathview(gene.data=demo.data[,2],pathway.id="04110",species="rno",limit=list(gene=90),out.suffix="demo")

#limit = list(gene=90) 是指定色阶范围为-90~90,不指定时默认为-1~1。#若色阶范围是-100~50,则可以指定为limit = list(gene=c(-100,50)

这样,一个pathway的涂色就完成了,结果如图。



网上找到一篇很好的教程,地址是https://www.bioinfo-scrounger.com/archives/639/

今天先把这个活儿完成,以后有机会好好研究一下这个包,连同Gviz什么的一起搞定。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。