图(graph)是数据结构和算法学中最强大的框架之一,可以用于表现各种类型的结构或系统,从交通网络到信号通路、从最优流程到社交关系网络,都有图的用武之地。本文所说的图特指“节点”和“边”组成的抽象的网络。
在代谢组学研究中,网络图常用来表示如下信息:
2.用不同节点表示基因、代谢物、酶等,用边表示节点之间的相互作用关系,用不同种类的箭头表示促进、抑制、催化等不同相互作用,此时绘制的是代谢通路图
Cytoscape数据在R中的前处理方法:节点文件+边文件+导出为csv
1.网络图所需的边文件说明
依据上文,我们可以知道,绘制一个网络图所要求的最低限度数据应该为一个包含各个节点相互作用关系的文件,如下表1.A所示:
这种文件的结构为,每行描述一条边(Edge),至少应当包含两列,分别描述这条边连接的两个节点。根据表中的连接关系,可以绘制出一个网络图,如下图A所示。我们可以看到由于3个节点在表格中均有相互关联,所以在图中也两两相连。在两个节点存在上下游关系时,我们通常会将两列列名分别命名为“source”和“target”分别表示一个反应/调控关系的上游和下游,如表1B。这时绘制出的图如下图B所示,可见代谢物1发出两条箭头分别指向代谢物2,对应表格前两行,代谢物1作为两个反应的起始节点影响着代谢物2和代谢物3,代谢物2发出一条指向代谢物3的箭头,对应着表格中的第3行,反应代谢物2对代谢物3的调控作用。
当存在可逆反应或反馈调节时,假设代谢物2可以代谢为代谢物3,反过来代谢物3又可以逆反应为代谢物2,这时我们需要准备的是表C中的形式,在原表格B的基础之上添加了一行以代谢物3为source,以代谢物2为target。这样得到的网络图(因不同工具、不同参数可能会有不同)可能是图C,也可能是图D[W用1],但我们需要注意的是,无论网络图中节点显示的是一条边还是两条边,在原始数据中,我们都应当准备对应的两行,在对边进行计数时,应当算做方向不同的两条边。
2.边的属性调整
通常我们会准备一个如下表所示的边文件来记录我们要使用的属性,对应的网络图如下图所示:
节点的属性调整
在调整好边及边属性后,我们可能会想要通过调整节点的属性来展示更多的信息,如通过节点颜色表示节点对应代谢物在干预组中相比对照的变化情况,通过节点形状表示代谢物所属类别,通过调整节点大小来展示代谢物在网络中的重要性。这时我们需要准备一个包含各个节点及节点属性的数据文件(通常被称为“节点文件”,NodeTable)。下表展示了一个对应的节点文件示例,文件中第一列对应各个节点的名称,注意此列中节点名称应当与EdgeTable中内容一致,否则无法完成节点属性的映射(mapping),第二列是该物质在处理组中相比对照改变的倍数取2为底的对数,第三列“height”是该倍数的绝对值,用来控制点的高度,第四列“IS_Upregulated”根据第二列得到,指示代谢物是否上调,第五列“color”列根据第四列得到,用来指示节点的颜色,第六列“class”列用来表示代谢物的分类,第七列“shape”列根据第六列得到,指示不同类型代谢物在图中对应的形状。将上述属性变更添加到之前的网络图中,我们可以得到下图。