Skip to main content
. Author manuscript; available in PMC: 2021 Dec 8.
Published in final edited form as: IEEE/ACM Trans Comput Biol Bioinform. 2020 Dec 8;17(6):2074–2085. doi: 10.1109/TCBB.2019.2913368

Algorithm 1.

Match Generation Algorithm

1: Input: input_headers, output_headers, simMatrix
2: Output: matches
3: matches ← empty list
4: for all inputinput headers do
5:  MATCHINPUT(input, matches)
6: end for
7: return matches
8:
9: procedure MATCHINPUT(input, matches)
10: ops ← output headers with similarity values >= 0.5
11:  sort ops by descending similarity value
12: for all outputops do
13:   sim ← simMatrix[input][output]
14:   currMatch ← [input, output, sim]
15:   if output is not already matched then
16:    matches.add(currMatch)
17:    return
18:   else
19:    find prevMatch of output from matches
20:    if prevMatch.sim < currMatch.sim then
21:     matches.add(currMatch)
22:     matches.remove(prevMatch)
23:     MATCHINPUT(prevMatch.input, matches)
24:     return
25:    end if
26:   end if
27: end for
28: return
29: end procedure