这个描述将向您展示如何工作Cytoscape的流行的系统发育树Newick格式转换通过RCy3 igraph和导入。提供了最初的转换步骤https://github.com/GildasLepennetier/newick_to_graphml

1安装

如果(!“RCy3”% % installed.packages ()) {install.packages (“BiocManager”) BiocManager::安装(“RCy3”)}图书馆(RCy3)

1.1先决条件

我们还需要一些额外的包文件转换步骤:

install.packages(猿)install.packages (phytools) install.packages (igraph)库(猿)图书馆(phytools)图书馆(igraph)

除了这些R包,您将需要Cytoscape 3.7或更大,这可以从下载https://cytoscape.org/download.html。只是跟随屏幕上的安装说明。

2树网络

系统发育树是一种特殊类型的网络。和Cytoscape可以处理任何类型的网络!树木往往代表的Newick格式,如下所示

(熊浣熊:19.19959:6.80041:0.84600,(密封sea_lion: 11.99700: 12.00300: 7.52973,(猫猴:100.85930:47.14069:20.59201,黄鼠狼:18.87953):2.09460):3.87382,狗:25.46154);(牛:0.69395(长臂猿:0.36079(猩猩:0.33636,(大猩猩:0.17147,(人类黑猩猩:0.19268:0.11927:0.08386:0.06124:0.15057:0.54939,鼠标:1.21460):0.10;(牛:0.69395 (Hylobates: 0.36079(彭哥:0.33636,(G._Gorilla: 0.17147, H._sapiens P._paniscus: 0.19268: 0.11927: 0.08386: 0.06124: 0.15057: 0.54939,啮齿动物:1.21460);

Newick文件加载到Cytoscape的第一步是将它们转换为更一般的网络使用igraph格式,通过RCy3 Cytoscape已经知道如何阅读包。

树< - phytools: read.newick(执行(“extdata”、“phylotree。newick”,包= " RCy3 "))搞笑<——猿::as.igraph。phylo(树,假)#布尔是否树扎根ig < - set_edge_attr(搞笑,“距离”,价值=树edge.length美元)#距离设置为边缘属性

3网络Cytoscape

在这里这是一个简单的问题为Cytoscape装载igraph网络。RCy3有一个函数:

createNetworkFromIgraph (ig title =“phylotree”,收集=“phylotree”)

现在只需要一个布局的风格…

适用于指定布局树,如果是正常调整。您可能需要调整一些参数来得到一个好的布局为其他Newick文件,但以下适用于在这个描述演示文件。

layoutNetwork(粘贴(“指定”,“defaultEdgeWeight = 3”,“defaultSpringCoefficient = 5 e-5”,“defaultSpringLength = 80”, 9 = '))

Pro-tip: Cytoscape GUI的您还可以访问yFiles布局(接受许可之后)。树的层次布局是完美的!然而不幸的是,它不是通过脚本访问由于许可限制。

同时,注意连接节点,无名Newick格式,给出了通用名称由igraph(如Node1)和显示太promonently Cytoscape。让我们创建一个过滤器来选择这些节点和改变自己的风格。

createColumnFilter(“连接”、“id”,“^节点\ \ \ \ d + $”、“正则表达式”)连接< -getSelectedNodes () setNodeWidthBypass(连接,1)setNodeHeightBypass(连接,1)setNodeLabelBypass(连接," ")

4边长度的距离

最后一个联系,让我们标签边缘随着距离的值:

setEdgeLabelMapping(距离)

我们还可以探讨布局,考虑边缘的长度,如:

layoutNetwork(粘贴(“指定”,“edgeAttribute =“距离”,‘type = " 1 -正常价值”,defaultSpringCoefficient = 5的军医,defaultSpringLength = 50, 9 = '))

注意“猴子”,一个更大的距离超过100现在定位进一步从其他更密切相关的节点。