Graph 基于起始节点和终止节点的子图提取

Graph 基于起始节点和终止节点的子图提取,graph,igraph,Graph,Igraph,我必须问这个问题,因为我不确定这是困难还是容易。我想在igraph中提取一个子图,但有以下绑定:从Viridiplantae-3到Proteobacteria-2(见图) 我可以从shortest.path()中找到路径,但我不确定如何基于节点列表提取子图。因为shortest.path不包括Proteobacteria-1和Proteobacteria-2。我不想包括100.2:Viridiplantae-1,Viridiplantae-2和68.1:Stramenopiles-1,Rhodo

我必须问这个问题,因为我不确定这是困难还是容易。我想在igraph中提取一个子图,但有以下绑定:从
Viridiplantae-3
Proteobacteria-2
(见图)

我可以从shortest.path()中找到路径,但我不确定如何基于节点列表提取子图。因为shortest.path不包括
Proteobacteria-1
Proteobacteria-2
。我不想包括
100.2
Viridiplantae-1
Viridiplantae-2
68.1
Stramenopiles-1
Rhodophyta-1

简而言之,给定
植物绿-3
变形菌-2
,我想提取红色的所有东西

可复制说明:

library(ape)

library(igraph)

cat("(((Viridiplantae_1:1.22123006e-06,Viridiplantae_2:1.22123006e-06)100.2:0.9709833387,Viridiplantae_3:1.217705775)100.1:1.394125713,((Proteobacteria_1:0.2479324862,Proteobacteria_2:0.4385740351)100.3:0.696357212,(Rhodophyta_1:1.675875775,Stramenopiles_1:1.869948709)68.1:0.48853466)52.1:0.2231628399,Proteobacteria_3:0.8491431473);", file = "testTree.tre", sep = "\n")

cur_Tree <- read.tree("testTree.tre")

cur_Tree$node.label[1] <- "root" 

cur_Grph <- as.igraph(cur_Tree)
库(ape)
图书馆(igraph)
10.2:0.979833387,3:0.979833387,3:1.21777575775,3:1.217775775)100.1:1:1.777,3:1.217775775)100.1:100.1:1.1:1.1:1.1:1.394125713,,,,,(((蛋白质细菌(蛋白质细菌(蛋白质细菌)1:1:0.24791:0.247.2473939393939393249324932472727272727224242424242,蛋白质细菌,蛋白质细菌,蛋白质细菌(2:2:2.4385858585858585743535351)100)100.3)100.3:100.3:100.3:0.3:3:0.3:0.3:0.3:0.3:0.3:0.3:0.3:0.3:0.3:0.3:0.3:=“testTree.tre”,sep=“\n”)

cur_Tree请包含一个可复制的示例,包括数据和代码。请看,我添加了代码块,将树转换为图形。我实际上不清楚带圆圈的部分是如何定义的。你能正确定义它吗?带圆圈的部分是一个子图,包含节点Viridiplante-3和节点之间最短路径中的节点d Proteobacteria-2,以及最短路径内节点的邻居。不,这不是一个好的定义。这还包括
100.2
68.1