我必须问这个问题,因为我不确定这个问题是否困难或容易。我想在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
。
简而言之,给定Viridiplantae-3
和Proteobacteria-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)
cur_Grph是图像中的图形