AlignNetworks {GraphAlignment} | R Documentation |
Align networks A and B.
AlignNetworks(A, B, R, P, linkScore, selfLinkScore, nodeScore1, nodeScore0, lookupLink, lookupNode, bStart, bEnd, maxNumSteps, clamp=TRUE, directed=FALSE)
A |
adjacency matrix for network A |
B |
adjacency matrix for network B |
R |
node similarity matrix |
P |
permutation vector to be used as the initial alignment |
linkScore |
link score matrix |
selfLinkScore |
self link score matrix |
nodeScore1 |
node score vector (s1) |
nodeScore0 |
node score vector for unaligned nodes (s0) |
lookupLink |
link bin lookup table |
lookupNode |
node bin lookup table |
bStart |
start scaling value for simulated annealing |
bEnd |
end scaling value for simulated annealing |
maxNumSteps |
maximum number of steps |
clamp |
clamp values to range when performing bin lookups |
directed |
whether input networks should be treated as directed graphs |
The return value is a permutation vector p which aligns nodes from network a with nodes from network B (including dummy nodes). The returned permutation should be read in the following way: the node i in the network A is aligned to that node in the network B which label is at the i-th position of the permutation vector p. If the label at this position is larger than the size of the network B, the node i is not aligned.
ex<-GenerateExample(dimA=22, dimB=22, filling=.5, covariance=.6, symmetric=TRUE, numOrths=10, correlated=seq(1,18)) pinitial<-InitialAlignment(psize=34, r=ex$r, mode="reciprocal") lookupLink<-seq(-2,2,.5) linkParams<-ComputeLinkParameters(ex$a, ex$b, pinitial, lookupLink) lookupNode<-c(-.5,.5,1.5) nodeParams<-ComputeNodeParameters(dimA=22, dimB=22, ex$r, pinitial, lookupNode) al<-AlignNetworks(A=ex$a, B=ex$b, R=ex$r, P=pinitial, linkScore=linkParams$ls, selfLinkScore=linkParams$ls, nodeScore1=nodeParams$s1, nodeScore0=nodeParams$s0, lookupLink=lookupLink, lookupNode=lookupNode, bStart=.1, bEnd=30, maxNumSteps=50)