Gene Ontology 的GO注释的可视化

Gene Ontology 的GO注释的可视化@TOC

利用goatools和PyGraphviz可视化

最近因为项目的原因,需要对GO terms的注释进行可视化,在此之前已经使用visio自己画了可视化的图(天啊,工作量真的好大,画起来太麻烦啦!)。偶然间发现了一个goatools这个可视化的工具,发现自己之前写太多代码了,明明可以直接掉包的==!。

可视化的时候,必须要安装PyGraphviz。

安装PyGraphviz工具的准备以及过程

因为pyGraphviz的官网只能支持Python2.7的版本,所以只能使用conda重新安装一个虚拟环境了:

  1. 安装Python2.7虚拟环境conda create --name py2 python=2.7,因为只需要做可视化,只用导入必要的包就可以了,暂时不用安装其他的库;
  2. 安装graphviz-2.38.msi ,安装完成之后,在系统环境变量中添加PATH=C:\Program Files (x86)\Graphviz2.38\bin,如果没有添加路径,goatools就无法画图 链接:https://pan.baidu.com/s/1SeQeiZfG-N7iKnoIT0YNRg
    提取码:u4wl
  3. 安装pygraphviz-1.3.1-cp27-none-win_amd64.whl ,用pip下载容易出错,下载完成后直接 pip install pygraphviz-1.3.1-cp27-none-win_amd64.whl
  4. 安装完成后用一小段代码看是否安装成功;
import pygraphviz as pyg
g=pyg.AGraph()  #建立图  
g.add_node('A')  #建立点
g.add_edge('A','B')  #建立边
g.add_edge('A','C')  #建立边
g.layout(prog='dot')  #绘图类型
g.draw('pyg1.png')   #绘制

如果能显示出一张pyg1.png则说明安装成功

可视化多个GO term的列表

画出下面的这个列表的所有的GO terms的DAG图

['GO:0004176','GO:0042802','GO:0005117','GO:0009376','GO:0005515']

首先需要下载对应的go-basic.obo文件。
代码实现如下:

node_temp=['GO:0004176','GO:0042802','GO:0005117','GO:0009376','GO:0005515']
go=obo_parser.GODag('../data/go-basic.obo',optional_attrs='relationship')
recs=[]
for node in node_temp:
       rec=go.query_term(node)
       recs.append(rec)
# 设置draw_children=False,否则画出的图将非常庞大!
go.draw_lineage(recs,draw_children=False)

画出的图如下:
Gene Ontology 的GO注释的可视化_第1张图片
如果还需要对图片进一步的美化和编辑,可以利用cytoscape工具。

CentOS安装PyGraphviz

背景:非root用户,并且没有权限
看了很多的博客和Stackoverflow,关于CentOS安装PyGraphviz的经验真的是少之又少,对于非root用户,更没有了。。。。。。

这里列出两种,并且其中一种无效。

  1. 方法一:
pip install graphviz
# 发现安装成功
pip install pygraphviz
# 失败!

原因如下:
Gene Ontology 的GO注释的可视化_第2张图片
看有的博客有说安装pip install graphviz libgraphviz-dev pkg-config等,发现真的没用。
于是选择方法二。

#方法二
#下载Graphviz的rpm文件
#查看graphviz
yum list 'graphviz*'
#安装
yum install 'graphviz*'(结果发现要在root权限下才可以)
#下载rpm文件
yumdownloader graphviz.x86_64
#移动到好找到的文件件,然后添加路径并解压
rpm2cpio graphviz-2.30.1-21.el7.x86_64.rpm |cpio -idvm
export PATH=/home/siqihuang/graphviz/usr/bin/
# 添加完路径后不能忘记source ./.bashrc
# 后面开始安装pygraphviz结果还是报错,而且导致ls、ssh等命令也不能使用,不知道为什么,要不退出环境然后再进来看一下吧。
# 进入Python2环境后
conda install pygraphviz 
#--竟然可以使用了。

你可能感兴趣的:(Python库,生物信息)