Skip to main content

Table 1 The modified node-weighted Steiner tree algorithm

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