Skip to main content
. Author manuscript; available in PMC: 2014 Jun 6.
Published in final edited form as: IEEE/ACM Trans Comput Biol Bioinform. 2011 Mar 16;9(1):294–304. doi: 10.1109/TCBB.2011.58

Algorithm 1.

INDEVI(M,C)

1: for each C=TC×ICC do
2:     {CT,CI}=Preprocess(M,C);
3:     for each entry (i, j) of M do
4:         localT=CT(i);
5:         localI=CI(j);
6:         if M(i, j) = 1 then
7:             if iTC then localI=localI1; end if {Note the update is on localI, not localT, if iTC}
8:             if jIC then localT=localT1; end if {Note the update is on localT, not localI, if jIC}
9:         end if
10:         FC(i,j)=localTlocalI
11:         if FC(i,j)>0 then
12:             G(i,j)=G(i,j)+1;{A counter of maximal bicliques of M that contain supporting bicliques for (i, j). It is an auxiliary information for tie breaking.}
13:             if F(i,j)<FC(i,j) then
14:                 F(i,j)=FC(i,j);
15:                 c(i,j)=indexofCinC;{An index for reconstructing evidence of maximum supporting biclique.}
16:             end if
17:         end if
18:     end for
19: end for
20: return F, G, c;
Procedure Preprocess(M, C)
1: for all iT do
2:     CT(i)=ICY where Y={y:yI,M(i,y)=1};
3: end for
4: for each jI do
5:     CI(j)=TCX where X={x:xT,M(x,j)=1};
6: end for
7: return CT, CI