Supplementary Description of Algorithm EnumOccurrences in “Unraveling Complex Temporal Associations in Cellular Systems across Multiple Time-Series Microarray Datasets” Wenyuan Li, Min Xu and Xianghong Jasmine Zhou∗ The algorithm EnumOccurrences can be intuitively described as a search process that discovers all the subvectors y of a time-series vector x whose rank vector is equal to r, i.e., ry = r. We developed an efficient, depth-first search algorithm to recursively match elements of r and y. This process matches each element of r with every possible element of y, going through the elements of r one by one until the entire rank vector has been checked. Note that in our algorithm, the elements of r and y are always matched from highest to lowest. Figure 1 gives an example of the above process. For simplicity, we replace x with its rank vector. Firstly, let the highest value (3) of r match the highest value (5) of x (see “Node 1 at Level 1”). Since the second highest value (2) of r is two positions forward, we must move at least two positions forward in x to identify the second match element. Two candidate values (1 and 4) in x satisfy this second match, as shown in Nodes 1 and 2 at Level 2. These possibilities are the children of the Level 1 node. We proceed to investigate the third match element. The relative position of the 3rd highest value (1) in r is “between the previous two matched values”. In “Node 1 at Level 2”, we apply this rule and identify two candidate elements in x: the values 3 and 1. These trends become the two nodes of Level 3. In “Node 2 at Level 2”, however, we fail to find matched values when following the rule. At Level 3 we have matched all three elements of r to y, so all nodes at Level 3 are solutions. Certainly, we could return to the beginning and go through the same search process from Node 2 or Node 3 of Level 1. However, this particular case would not provide any additional matched trends. A formal description of the above process is given in Algorithm 1. We use the Routine “match” (Line 2) to calculate how the i-th matched element branches to possible matches for element (i + 1), as detailed above. The Algorithm EnumOccurrences traverses the search tree in the depth-first order. This tree has k = length(r) levels, and many nodes are pruned due to early termination during match actions, as shown in Figure 1. The great advantage of this algorithm is that anti-monotonic constraints can prune large swathes of the search space (i.e., search nodes as shown in Fig. 1). Algorithm 1 EnumOccurrences Input: (1) x = [x1 , . . . , xn ], a times-series vector (2) r = [r1 , . . . , rk ], rank order of a trend (3) Θ1 , threshold set of all anti-monotonic constraints, such as θI ∈ Θ1 Output: Wm×k , occurrence matrix r in x. Sort both x and r in descending order to get their index vectors Ix and Ir respectively. Together with Θ1 and W , Ix and Ir are global variables. 2: for all beginIx = 1 to (n − k + 1) do 3: match(beginIx, 1); 4: end for 1: ∗ To whom correspondence should be addressed. Molecular and Computational Biology, Department of Biological Sciences, University of Southern California 1 Value Time Series: x Trend: r Rank vector: 3 1 2 Time 2 5 3 1 4 1 Rank vector: The searching space is represented by a tree . We search this tree by the depth first order. Node 1 at Level 1 Rank vector: 3 1 2 Rank vector: Node 2 at Level 1 2 5 3 1 4 Rank vector: 2 5 31 4 Node 3 at Level 1 Rank vector: Time Series: x Time Series: x 2 5 31 4 Time Series: x 2 Go forward at least 2 positions Level Trend: r Trend: r Level Trend: r Rank vector: Rank vector: 3 1 No jump 2 Level 3 1 2 Jump backward between 2 positions 3 Node 1 at Level 2 Rank vector: Node 2 at Level 2 2 5 3 1 4 Time Series: x Rank vector: 2 5 3 1 4 Time Series: x Node 1 at Level 3 Rank vector: Node 2 at Level 3 T1 T2 T3 T4 T5 2 5 3 1 4 Time Series: x Rank vector: T1 T2 T3 T4 T5 2 5 3 1 4 Time Series: x W= T1 T2 T3 T4 T5 T2 T3 T5 T2 T4 T5 T1 T2 T3 T4 T5 Figure 1: An example showing how the match routine (Line 3 of Algorithm 1 – EnumOccurrences) traverses the search space. 2
© Copyright 2026 Paperzz