From: The node-weighted Steiner tree approach to identify elements of cancer-related signaling pathways
Input: | Protein-protein interaction network G, parameter s, μ |
---|---|
Output: | Subnetwork T r ⊆G |
1 | Initialize T r =∅, global time t g , clusters, edge parts |
2 | While there are more than one active cluster do |
3 | Find the closest edge event time t e and the responsible edge part e p 1 |
4 | Find the closest cluster event time t c and the responsible cluster C |
5 | If t e ≤t c then |
6 | Update t g to t e |
7 | Identify the corresponding edge part e p 2 to e p 1 |
8 | If e p 1 and e p 2 are in the same cluster then |
9 | continue |
10 | else |
11 | Calculate r |
12 | If r>μ then |
13 | update the event time of e p 1 and e p 2 |
14 | else |
15 | Add the corresponding edge to T r |
16 | Merge the two corresponding clusters and their edge parts |
17 | else |
18 | Update t g to t c |
19 | Deactivate C |
20 | Remove the edges disconnected with the last active cluster from T r |
21 | Associate each vertex in T r with an nw value |
22 | Randomly select a compulsory terminal as the root of T r |
23 | While not all the non-root vertices in T r have been processeddo |
24 | For unprocessed non-root vertex i whose processing degree is 1 do |
25 | Find the unprocessed adjacent vertex j |
26 | If c(i,j)>n w(i)then |
27 | Remove edge (i,j) and the subtree rooted at vertexi from T r |
28 | else |
29 | Update n w(j) using Eq. (4) |
30 | Mark vertex i as processed |