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)

畫出的圖如下:
在這裏插入圖片描述
如果還需要對圖片進一步的美化和編輯,可以利用cytoscape工具。

CentOS安裝PyGraphviz

背景:非root用戶,並且沒有權限
看了很多的博客和Stackoverflow,關於CentOS安裝PyGraphviz的經驗真的是少之又少,對於非root用戶,更沒有了。。。。。。

這裏列出兩種,並且其中一種無效。

  1. 方法一:
pip install graphviz
# 發現安裝成功
pip install pygraphviz
# 失敗!

原因如下:
方法一的錯誤在這裏插入圖片描述
看有的博客有說安裝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 
#--竟然可以使用了。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章