Which tool could be used for pairwise and/or multiple network alignments in R by considering the node and edge names? For pairwise network alignment, I can use intersection()
from igraph
but I am looking for a score that I can use to compare multiple such pairwise comparisons (something like pairwise sequence alignment).
I was using the align()
function from netcom
R package but that does not seem to consider the node names.
library(netcom)
net1 <- graph_from_data_frame(data.frame("Node1" = c("A1", "A1", "B1", "C1", "C1"),
"Node2" = c("B1", "C1", "D1", "E1", "D1")),
directed = FALSE)
net2 <- graph_from_data_frame(data.frame("Node1" = c("A2", "A2", "B2", "C2", "C2"),
"Node2" = c("B2", "C2", "D2", "E2", "D2")),
directed = FALSE)
align_res_1 <- align(network_1_input = as.matrix(as_adjacency_matrix(net1)),
network_2_input = as.matrix(as_adjacency_matrix(net2)))
align_res_2 <- align(network_1_input = as.matrix(as_adjacency_matrix(net1)),
network_2_input = as.matrix(as_adjacency_matrix(net1)))
In the above example, the net1 and net2 are the same except node sames. The alignment scores are 0 in both cases. Though the network structures are the same, I was expecting a different score since the node names were different. Any suggestions on which tool could be used for this?