KEGG数据库的使用方法与介绍

KEGG的数据

KEGG中的pathway是根据相关知识手绘的,这里的手绘的意思可能是指人工以特定的语言格式来确定通路各组件的联系;基因组信息主要是从NCBI等数据库中得到的,除了有完整的基因序列外,还有没完成的草图;另外 KEGG中有一个“专有名词”KO(KEGG Orthology),它是蛋白质(酶)的一个分类体系,序列高度相似,并且在同一条通路上有相似功能的蛋白质被归为一组,然后打上KO(或K)标签。下面就首先来讲一下KEGG orthology。

任找一个代谢通路图,在上方有pathway meue | payhway entry | Show(Hide) description | 这3个选项,点击pathwayentry, 出现了一个页面,这个随时被连接出来的页面相信大家一定再熟悉不过了。在这个页面中的pathway map项中点击按钮状的链接Ortholog table 。就进入了Ortholog table如下的页面:

在这个表中,行与物种对应,3个字母都是相应物中的英文单词缩写,比如has表示Homo sapiens,mcc表示Macaca mulatta;列就表示相应的Ortholog分类,比如K00844就表示生物体内的己糖激酶hexokinase 这一类序列和功能相似的蛋白质类(酶类)。如上图has后有3101,3098,3099这3个条目,它表示在人类细胞中中存在3中不同的己糖激酶,它们分别由以上这3组数字代表的基因所编码,这3组数字应该是这3个基因的登录号。空白则表示在该物种中不存在这种酶。

点击K00844则这一KO分类信息及成员列表都可显示出来;点击has则链接到物种(人类)基因组去了;点击P,则显示相应的代谢通路。下面我们点击3101,如下:

如上图,就是我们常见的一个页面,3101是KEGG中的基因ID(登录号), H.sapiens表示物种,然后是基因的名称,表达的酶,属于哪个KO分类以及参与哪些代谢途径;下面还有结构、序列信息等等。

所以从Ortholog table中可以很容易地知道一张代谢通路上有哪些KO分类(酶类),并且这些酶类的成员在各物种中分配存在的情况以及特定的名称。

怎么看KEGG中代谢通路图

  

比如以上这个图,方框一般就是酶,方框里面的5.4.2.2不是IP 而是EC编号;小圆圈代表代谢物,你把鼠标放上去,(别放我这上面,放KEGG中去)会出现C00668的东西,C代表compound,00668是这种化合物在KEGG中的编号,一般在KEGG中数据条目都是这样的,前面一个标志,后面一个五位数编号;大的圆方块,就表示是另一个代谢图了,所以就不展开了。

但是:为什么这个图上有的小框框是绿色呢?(这是绿色吧?我蓝绿不分的,下同)

因为这是一张特定物种(S. cere. 酿酒酵母)的代谢图,蓝色的框框表示专属于这个物种。在KEGG中有两种代谢图,一种是参考代谢通路图reference pathway,是根据已有的知识绘制的概括的、详尽的具有一般参考意义的代谢图,这种图上就不会有绿色的小框,而都是无色的,所有的框都可以点击查看更详细的信息;另一种就是像上面这样的属于特定物种的代谢图species-specific pathway,会用绿色来标出这个物种特有的基因或酶,只有这些绿色的框点击以后才会给出更详细的信息。这两种图很好区分,reference pathway 在KEGG中的名字是以map 开头的,比如map00010,就是糖酵解途径的参考图,而特定物种的代谢通路图开头三个字符不是map而是种属英文单词的缩写(应该就是一个属的首字母+2个种的首字母)比如酵母的糖酵解通路图,就是sce00010,大肠杆菌的糖酵解通路图就应该是eco00010吧。

那么:怎么找这两种图呢?

(1)有下拉列表的时候,在列表选择reference 或者是特定物种即可。

(2)在pathway检索的页面http://www.genome.jp/kegg/pathway.html ,如下图:

默认的就是map,参考图,你想要什么物中的代谢图写上它的名称就好了(种属缩写),如果不知道是哪3个字母,点击organism 选择即可。(不过你点进去也是一片空白,你要提示两个字母才会给出下拉条目)

顺便问一下:怎么找基因呢?

还是上面这张图,看到了吗,除了PATHWAY之外是不是还有 BRITE、DISEASE..以及GENES等等,点击基因GENES,就可以查找基因了,如下图:

  

不过这里要按一定的格式(org:gene)输入要查找的目的基因,比如它给出的示例:syn表示物中,ssr3451表示基因ID,查找出来的基因名称是psbE。其实我试了一下,若直接检索基因名称(而不是KEGG中的基因ID)syn:psbE 也是一样的。因为我不知道KEGG中基因ID如何编制的,但是,我同时也不知道基因的名称是如何定义的。比如果糖1,6-二磷酸酶Fructose 1,6-biphosphatase 的基因就叫fbp,我放进去能检索,但是我把有名的gal填上去就不能检索,当然这可能与基因后面的乱七八糟的序号后缀有关,比如填上gal1就能检索了,所以我真不知道基因到底怎么命名的?当然我在syn中没找到gal1在sce中检索到了,这也说明了基因果然不是乱长的。

依旧是上面这个图,看到KEGG2了吗?点击。也会出现检索框,这是一个总体性地检索框,在这里面输入关键词,代谢通路也好,glycolysis也好, gal也好,化合物也好,没那么多限制,KEGG中的相关东西都会检索出来,在这里浏览一下,再进行后续检索,也是一个不错的方法。

当然,代谢通路图,还有其他的查看形式(比如以KO查看),以及图上可以点击,链接到这链接到那,点来点去总能点出奇怪的页面来,熟悉一下也就熟悉了,这些东西会很有用,所以我就不说了。下面讲一下KEGG的自动注释功能。

 

KEGG的自动注释

KEGG Automatic Annotation Server,KEGG的自动注释服务简称KAAS。在线网址为http://www.genome.jp/tools/kaas/ 。就是你提交一段蛋白质序列或者基因序列(必须是fasta格式),它自动在内部进行相似性比对,找到最相似的基因,并确定检索基因的KO分类,然后给出这些基因所在的代谢通路并以以不同的颜色标示这些基因。如下图:

我在help中随便复制了它的两条示例氨基酸序列,然后粘贴到检索框中,进行了检索。检索框默认的蛋白质序列,如果不是的话要改选。然后填上一个邮箱地址,点击又下角的compute即可。不出意外的话,你在接下来的页面中应该看不到任何结果,甚至连提示都没有,原来它把结果发到你邮箱去了。我也不明白就一个网页链接为什么还硬要发送到邮箱。 首先发你一封信说已经接受,并给你一个期待结果显示的网址,一段时间后,会发你另外一封邮件,说已经完成。打开它给的网址,就能看到结果了,如下:

看来从1:20开始计算到1:50 才结束,两条氨基酸链计算了30分钟(不过我感觉没这么长呀)。人家说了,计算时间是与要和检索序列对比的目标序列成正比,因此在检索的时候最好限制一下检索范围。

点击html 有两条代谢通量图的条目,点开他们就可以直观地看出我们检索的未知序列在代谢通路中的位置和作用了。Text给出的是两个KO分类。

好像北京大学的生命科学学院也搞了一个KOBA,也是基于KEGG 中的KO进行注释的一个服务,应该和这个差不多吧。

代谢通路的着色 

怎么在KEGG检索出来的代谢通路中给特定的一些化合物或者基因(酶)着色以高亮显示呢?

进入网页 http://www.genome.jp/kegg/tool/color_pathway.html ,或者由pathway主页的Color objects in KEGGpathways进入,看图:

如上图,search against 下拉出你可供选择的代谢通量图,总所周知的一个很烦人的问题就是,在这些下拉列表中,条目排序竟然是乱七八糟的很难索引。还好我发现把焦点定在这个下拉列表的最顶端的文本框上(即文本框变成选中的蓝色),然后在键盘上拼写你要的那个物中的英文单词,只需要拼两三个字符相应的代谢通量图就出现在顶端了。比如我要找酵母的代谢通量图,只需要在文本框变蓝的时候拼写“sacc”这几个字符“Saccharomyces cerevisiae(budding yeast)”就自动被置于上面了。或者不把焦点集中在文本框中也行,但是你要很快地拼写sacc,否者的话焦点会在以这几个字符开头的条目之间切换。

如上图,右边有示例,这个貌似不要太简单。想给谁着色就把它写出来后面跟上颜色就好了,一个一行。比如写上C00118 blue 就表示在代谢通路图中把C00118这种代谢物(3-磷酸甘油醛,GAP)给着上蓝色。但是大家也看出来了,着色可以自定义背景色,也可以同时定义前景色。我曾一度琢磨前景色是干嘛的,琢磨半天发现没用。背景色就是把方框或者圆圈涂成选定的颜色,这自然是要的;而前景色是谁的颜色,就是方框里面的5.4.2.2 这几个数字的颜色,或者是小圆圈圆周的颜色,这有必要定义吗,所以后面直接跟一种颜色就行了。

然后就可以了。我随便弄个gal1想去着色,KEGG突然说在酵母中找不到gal1,怎么可能找不到呢?我前面还在GENES中搜过呢,分明是酵母,分明是gal1,分明搜的到,我当时还大为兴叹,唉,看来基因果然不能乱长啊,怎么可能一顿饭就说找不到了呢?我又回去搜里一下,确实搜的到,我再回来着色还说找不到。发现没有哪里不对呀,难道在这里KEGG着色只能输入基因ID而不能输入名称?不是,输入基因ID能给着色,基因名称也应该能给… 哈哈,我突然大笑起来,一定是KEGG区分大小写了!果然,我把搜到的GAL1输进去,好了!用gal1又不行了。我突然觉得好玩起来,就一次次地改大小写,一次次地看它给出的错误报告,一次次得意地嗤笑它的弱智。既然区分大小写,那red能着红色,Red、RED肯定就不认识了,果然改写一个大小写的red就没反应了,c00118也不认识了。前面那么多检索一直都不区分大小写的,在这里怎么区分大小写呢?KEGG显然把这点疏忽了。

着色结果如下:(红色的就是GAL1的酶,右上角的就是C00118)

代谢物还好,如果要着色酶,没必要去找基因,还免得像我那样麻烦,直接在输入框中输入相应的酶就好了,比如ec:2.7.1.6 red(ec 要小写) 跟 GAL1 red 是一样的。或者直接写 2.7.1.6 red 也是一样的。

这种着色功能还可用于对比(或寻找)两个不同物种的一些基因,或者根据芯片数据,直观地示意一些基因的表达调控。着色内容也可以预先按以上规定的格式写在文本文件中,然后直接浏览导入也行。

基因芯片数据的分析

我对基因芯片数据(表达谱)的分析也是蛮感兴趣的。利用基因芯片的表达数据,分析不同实验条件下的一些上调或下调基因,并与生物通路结合起来,用不同的颜色来直观地反映代谢通路中各基因表达的变化情况,可以为更好地研究代谢网络提供了很大的帮助。以前出去听人家讲课,只知道GenMapp不错,可以把基因芯片数据和通路结合起来,没想到在KEGG中也可以实现这一功能。

进入网页http://www.genome.jp/kegg/expression/ 。网页左边是KEGG自身拥有的一些基因表达数据集 KEGG EXPRESSION Database。网页的右边KegArray就是要进行芯片分析的工具了。在KEGG EXPRESSION 下面,点击“list of experimental data available”,就打开了KEGG中的基因芯片数据,见下图:

这是芯片数据的一个目录层次,箭头向右和向下分别表示收起和展开数据。我们以上图中的第一条数据为例,即Suzuki et al. 做的关于Synechocystis PCC6803 冷激响应的一条数据ex0000012, 点击这个数据,在打开的页面下面有个option 列表,点击 Launch KegArray,加载这个应用程序来分析这条数据。出现如下对话框:

问你是打开还是保存,打开就相当于临时用一下,网页关掉就没了;保存就是把这个软件下载到自己的电脑上,以后还可以用。你先打开试试吧,这个不是关键,关键的是你可能打不开这个文件。大家都知道,生物信息学的一些软件往往要求安装JAVA才能运行,我JAVA早就安装了,但是仍然告诉我打不开这个文件,我看了一下文件格式,是什么JNLP格式的没见过,看看属性,又从网上搜搜,说需要 java web start 才能打开和运行,我安装了JAVA,java web start 在哪里找到和启动,查了半天也没个头绪,忽然一想,java web start 肯定在JAVA安装文件夹里,取首字母缩写,很有可能是 javaws.exe,我一搜还真在安装文件夹里搜到这个执行程序了,用作JNLP的默认打开方式,立马就呼呼地启动了。出现了如下的界面:

图中的File Name、Organism还都对,下面的参数一般都是默认的,不需要改。右边还有一个统计图,用以显示上调、下调和不调的基因数目比例。绿色表示下调,红色上调,黄色无明显差异(之前有文献说红色是下调,搞的我迷糊了好大一阵子!)。

那怎么在生物学通路中看这些基因的调整情况呢?

看到最下面的 Mapping to 了吗,选择pathway(默认的也是pathway),GO一下,就OK了。然后它就会把这个芯片数据涉及到的基因所在的通路图列出来,并在通路中用不同的颜色标明基因表达差异。如下图(选取的是嘌呤代谢通路的一部分)

绿色表示基因下调,黄色表示没明显变化,灰色是什么,这个可能species-specific 基因,与芯片无关的吧。那怎么没红色?

(1)通路中本就没有基因上调

(2)虽然绿色表示下调,红色上调,但是在他们之间有过渡的颜色,比如某个基因只是稍微上调,因此不能大红大紫,只能呈现过渡的暗黄色。如果你一定有见红情结的话,那你可以在help 菜单中选择preferences,把颜色梯度改成1,即下调就是绿色,上调就是红色,没中间余地。此时一旦有所上调不论多少都是大红。(呵呵)

除此之外,看到了吗,KegArray还有一个做聚类Clustering的命令,你可以点击GenomeNet从KEGG中选择芯片数据进行聚类,不过貌似做得很简单,也没有红绿颜色。

当然,你可以选择KEGG其他芯片数据进行类似分析,可可以从本地导入其他的芯片数据。也可以把KegArray保存在本地运行,但是不管怎样,不管你选在KEGG中选了那条数据,需要指出的一点是,当你再运行KegArray时,加载的数据总是你第一次使用的数据。比如我即使在KEGG中选择ex000013 而不是ex000012,然后 launch KegArray, 启动后出现的数据依旧是我第一次分析的数据ex000012而不是ex000013, 只有打开以后,点击GenemoNet重新选择芯片数据。而KegArray本身又找不到可以设置这些东西的地方,真不知道KEGG想要干嘛!

KGML与通路编辑

这个我不打算多讲,因为我自己也在踌躇着要不要学习呢。

KGML,即KEGG Markup Language的简称,我自己的理解就是它包含代谢通路中各组件以及各组件之间的相互联系,因此是代谢通路构建的指令。在KEGG中可以以xml的格式进行下载:ftp://ftp.genome.jp/pub/kegg/xml/ 。

据说这种KGML文件,打开时,能以另一种方式查看代谢通路,即酶和化合物之间的各种交叉联系,我很想看,但郁闷的是,我xml也下了,一个叫什么KGML DTD的也下了(见http://www.genome.jp/kegg/xml/),但是打开后没反应啥图也没有。可能需要一些专门的软件才能打开吧,比如VisANT, GenMAPP, PathwayExpert等。

另一方面就是越来越多的软件开始支持并应用到KGML了,但是我感兴趣的是有些软件已经能够基于KGML进行KEGG代谢通路的编辑了。单是一个图的话,用PS修饰或许也能搞定,但是如果是大规模地建模或修改代谢通路,显然需要这些软件。

有个软件KGML-ED(http://kgml-ed.ipk-gatersleben.de/Introduction.html),安装竟然需要1.6的java版本,我用1.5的试了试,还真不行...

其他的软件有的能把KGML转换成SBML(如KGMLConverter),貌似SBML也是生物学软件中主流的东西,能建模能可视化。不知道有没有人知道呢?

转自:http://www.plob.org/2011/03/08/58.html

KEGG数据库的使用方法与介绍的更多相关文章

  1. KEGG数据库介绍

    转载自https://mp.weixin.qq.com/s/pqbMXMkuqEXbLf31PTxGZQ KEGG简介 KEGG 数据库于 1995 年由 Kanehisa Laboratories ...

  2. OrmLite数据库的使用方法

    第一步:导入架包     1.将orm的两个支持包放入project视图下的你的工程的lib目录里(这两个JAR包网上都有,GitHub上最新)     2.添加依赖:在file文件目录下的proje ...

  3. 使用Memcache在PHP中调试方法的介绍及应用

    使用Memcache在PHP中调试方法的介绍及应用 如果我们在网络开发中,特别是大访问量的web项目开发中,为了提高响应速度,减少数据查询运算,那么我们都会选用memcahce.首先我们必须要安装,接 ...

  4. PL/SQL Developer 连接Oracle数据库详细配置方法

    PL/SQL Developer 连接Oracle数据库详细配置方法 近段时间很多网友提出监听配置相关问题,客户终端(Client)无法连接服务器端(Server).本文现对监听配置作一简单介绍,给出 ...

  5. cpanel导入大数据库(mysql)的方法

    phpmyadmin是一件很方便的在线管理MySQL数据库的工具,但对于较大的数据库的导出和导入却很容易出错.特别是导入工作,通常5M已经是它的极限了.这里,主要介绍一下如何通过cPanel导入大型的 ...

  6. MySQL数据库的版本更新方法

    MySQL数据库的版本更新很快,新的特性也随之不断的更新,更主要的是解决了很多影响我们应用的BUG,为了让我们的MySQL变得更美好,我们有必要去给它升级,尽管你会说它现在已经跑得很好很稳定完全够用了 ...

  7. FineReport单行与数据库交互的方法

    1.   问题描述 我们在做一张报表填报的时候经常会遇到需要在一行进行添加动作,将该行数据直接与数据库交互,执行存储过程过程.我们可以通过每一行增加帆软“插入”按钮实现插入动作,并且在控件事件中增加和 ...

  8. GO 和 KEGG 的区别 | GO KEGG数据库用法 | 基因集功能注释 | 代谢通路富集

    一直都搞不清楚这两者的具体区别. 其实初学者搞不清楚很正常,因为它们的本质是相通的,都是对基因进行归类注释的数据库. 建议初学者自己使用一下这两个数据库,应该很快就能明白其中的区别. (抱歉之前没讲清 ...

  9. 重装系统后ORACLE数据库恢复的方法

    如果我们的操作系统出现问题,重装系统后,ORACLE数据库应该如何恢复呢?下文就为您列举了两个重装系统后ORACLE数据库恢复的方法,供您参考. ORACLE数据库恢复的方法我们经常会用到,下面就为您 ...

随机推荐

  1. python gui之tkinter语法杂记

    随手写的,后续整理. 1. Entry如何调用父类的__init__? 以下错,原因后续分析 super(Your_Entry_Class, self).__init__(self,**kw) 报错: ...

  2. Dynamics AX 2012 R2 AIF 错误 '/MicrosoftDynamicsAXAif60' 应用程序中的服务器错误

    Reinhard在使用AIF的时候,服务端收到如下错误提示之一,并触发InsufficientMemoryException 和ServiceActivationException异常,那么代表你服务 ...

  3. Android专项面试训练题(一)

    1.下面不可以退出Activity的是?(D) A.finish() B.抛异常强制退出 C.System.exit(0) D.onStop() 解析: A, finish() 方法就是退出activ ...

  4. SpringData JPA的学习笔记之环境搭建

    一.环境搭建 1.加入jar包   spring jar+jpa jar +springData jar >>SpringData jar包     2.配置applicationCont ...

  5. Django编写RESTful API(三):基于类的视图

    欢迎访问我的个人网站:www.comingnext.cn 前言 在上一篇文章中,主要讲的是请求和响应,项目里面views.py中的视图函数都是基于函数的,并且我们介绍了@api_view这个很有用的装 ...

  6. react用class关键字来创建组件

    创建组件之前,首先学习一个ES6的写法,叫做展开运算符. 比如我这里有两个数组.如何将第二个数组o2中的所有属性导入到数组o1中呢?一个个输太麻烦,所以就用到了展开运算符. var o2={ age: ...

  7. Luogu P4015 运输问题

    题目链接 \(Click\) \(Here\) 继续颓网络流\(hhhhh\),虽然这次写的是个大水题,但是早上水一个网络流果然还是让人心情舒畅啊- 最大费用最大流不用非得反着费用建边.只要没有正环, ...

  8. 唯美MACD-完全版

    前言: 自己很喜欢MACD这个指标,因为很欠缺所以就搜集的多一点,有人问,学习缠为什么还这么搜集些Macd的资料呢?因为在分析走势(或盘整背驰.或趋势背驰)的时候我的习惯使用Macd做辅助判断,所以M ...

  9. AQS框架

    java并发包基石 AQS是JUC中很多同步组件的构建基础,简单来讲,它内部实现主要是状态变量state和一个FIFO队列来完成,同步队列的头结点是当前获取到同步状态的结点,获取同步状态state失败 ...

  10. 关于GROUP BY和聚合函数

    可以这样去理解group by和聚合函数 转自 http://www.cnblogs.com/wiseblog/articles/4475936.html 写在前面的话:用了好久group by,今天 ...