The scaCore script runs the core calculations for SCA, and stores the output using the Python tool pickle. These calculations can be divided into two parts:

  1. Sequence correlations:

    1. Compute simMat = the global sequence similarity matrix for the alignment

    2. Compute Useq and Uica = the eigenvectors (and independent components) for the following sequence correlation matrices:

      • unweighted (\(U^0\))

      • sequence weights applied (\(U^1\))

      • both sequence and position weights applied (\(U^2\))

  2. Positional correlations:

    1. Compute the single-site position weights and positional conservation values (\(D_i\) and \(D_i^a\))

    2. Compute the dimension-reduced SCA correlation matrix \(\tilde{C_{ij}}\), the projected alignment \(tX\), and the projector

    3. Compute Ntrials of the randomized SCA matrix, and the eigenvectors and eigenvalues associated with each


Keyword Arguments

*.db (the database produced by running scaProcessMSA)


norm type for dimension-reducing the sca matrix. Options are: ‘spec’ (the spectral norm) or ‘frob’ (frobenius norm). Default: frob


lambda parameter for pseudo-counting the alignment. Default: 0.03

--Ntrials, -t

number of randomization trials

--matlab, -m

write out the results of these calculations to a MATLAB workspace for further analysis


scaCore -i PF00071_full.db

Rama Ranganathan, Kim Reynolds



Copyright (C) 2015 Olivier Rivoire, Rama Ranganathan, Kimberly Reynolds

This program is free software distributed under the BSD 3-clause license, please see the file LICENSE for details.