Al-Eigen implements a heuristic procedure for computing a solution to the Contact Map Opverlap (CMO) problem. The algorithm uses the standard eigenvalue decomposition of symmetric matrices to obtain a set of principal eigenvectors weighted by the square root of corresponding eigenvalues. The overlap between the two maps is obtained by computing the optimal global alignment between the respective two sets of weighted eigenvectors.


Al-Eigen takes in input two contact maps and the number of eigenvectors to be used for the computation. It returns an overlap between the two input maps.

Usage: aleigen <cm1> <cm2> <n> [-e eig1 eig2] [-m]
       - <cm1>,<cm2>    : Contact maps.
       - <n>            : Number of eigenvectors to be used in computation.
       - [-e eig1 eig2] : Weighted eigenvectors of cm1 and cm2, respectively.
                          If not provided, they are internally computed.
       - [-m]           : Prints the solution in matrix form:
                            -1 = gap in either cm1 or cm2,
                             0 = mismatch or match between non-contacts,
                             1 = match between contacts.

aleigen 6
aleigen 6 -e d1plaa_.eig d2b3ia_.eig

Score    C1    C2    CMO
0.890882 332   337   298

0 2
1 3
2 4
3 5
4 6
5 7
6 8
7 9
8 10
9 11
10 12
11 13
12 14
13 15
14 16
15 17
16 18
17 19
18 20
19 21
20 22

The values C1 and C2 are the total number of contacts (above the first diagonal) of the first and second contact map, respectively. The value CMO is the total number of matching contacts (above the first diagonal) of the computed overlap. The value Score is equal to 2*CMO/(C1+C2). The list of integer pairs specify the alignment between the two maps (the first column indexes the first map and the second column indexes the second map). When the -m optional paramenter is used, the overlap between the two maps is printed in matrix form.

The optional argument -e is used to pass to the executable the two sets of weighted eigenvectors related to the input contact maps. If not used, the program internally computes the weighted eigenvectors. This option can be used to save time when the same map must be compared with several different maps (in some cases the eigendecomposition costs more than the alignment itself).


PDB files, contact maps and related weighted eigenvectors of two benchmark datasets used for performance comparison of CMO methods.


Al-Eigen and the utility weigenvect (for computing the weighted eigenvectors of a contact map) are available for the following architectures: