cytoscape绘制网络图,导入数据的要求有哪些

如题所述

cytoscape可以处理多种格式的文本文件。你把你的数据转成这些文件,然后就可以在cytoscape里打开了。

最简单的是.sif格式(sif格式),格式是:
nodeA <interaction> nodeB
nodeC <interaction> nodeD
...

就是说文件分三列,第一列和第三列是相互作用的基因名,第二列是相互作用的名称。.sif格式的好处是简单,容易处理。不过它不能规定每个节点的位置、大小、形状等。

另一种是xgmml格式,它是一种xml格式,可以规定节点和边的许多信息,但也更复杂。我在网上查了很久都没有查到xgmml格式的详细信息,没办法只好随便画个网络,让cytoscape导出成xgmml,然后一行一行看,花了一晚上搞明白了。于是写了几个python小函数来专门写这种格式。代码附在最后。

然后要画网络的时候写小脚本就行了:(假设这几个小函数的文件名叫xgmml.py)
from xgmml import *
fid = open('test.xml', 'w')
addHead(fid, 'hehe')
addNode(fid, 'A', 'A')
addNode(fid, 'B', 'B')
addEdge(fid, 'A', 'B', 'A to B')
fid.write('</graph>\n')
fid.close()

代码应该很好理解吧?导入包,打开文件,用addHead写文件头,addNode加结点,addEdge加边,补一句文件结尾,然后关闭文件。

最后把test.xml在cytoscape里打开就行啦
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答