pySCA icon

pySCA

(7.0)

Identify co-evolving residue sectors in protein families using Statistical Coupling Analysis. Learn more

Input

0/100,000
0 credits

Output

Configure inputs to begin

Set options on the left, then click “Run SCA”.

What is pySCA?

pySCA is a Python-based implementation of Statistical Coupling Analysis (SCA), a method originally developed by the Ranganathan Lab and previously available in MATLAB. Given an alignment of homologous sequences, SCA identifies groups of coevolving amino acid positions, called protein sectors. These sectors represent physically connected networks of residues that contribute to specific protein functions like folding stability, ligand binding, or allosteric signaling.

SCA is based on the idea that functionally important residues do not evolve independently. When a mutation occurs at one position, compensatory changes at interacting positions preserve the protein�s function. SCA detects these correlated evolutionary patterns in a multiple sequence alignment and extracts them as spatially contiguous residue networks on the protein structure.

How to use pySCA online

Paste or upload a multiple sequence alignment in FASTA, Clustal, or Stockholm format into ProteinIQ to identify residue sectors without installing pySCA, downloading sequence databases, or configuring any dependencies. The tool runs the full SCA pipeline and returns per-position conservation scores, sector assignments, eigenvalues, and the native pySCA results database for downstream analysis.

Inputs

InputDescription
Multiple Sequence AlignmentMSA in FASTA, Clustal, or Stockholm format. Must contain at least 4 protein sequences. All sequences must be the same length (pre-aligned). For protein families like PDZ, SH3, or globins, aim for 50-500 diverse sequences. More sequences produce more reliable sector detection.

Settings

Filtering

The pre-processing step removes columns (positions) and rows (sequences) that would add noise to the analysis.

SettingDescription
Max position gap fractionMaximum fraction of gaps allowed per alignment column before it is removed (0-1, default 0.3). Positions like loop regions often have high gap counts and get filtered.
Max sequence gap fractionMaximum fraction of gaps allowed per sequence before it is removed (0-1, default 0.2). Truncated sequences or partial domains get filtered out.
Min sequence identityMinimum identity to the reference sequence (0-1, default 0.15). Distant outliers that may not share the same functional constraints get removed.
Max sequence identityMaximum identity to the reference sequence (0-1, default 0.85). Near-duplicate sequences that would overweight a clade get removed.
Reference sequence indexZero-based index of the sequence to use as a reference. Leave empty to let pySCA choose automatically.

SCA Parameters

SettingDescription
Normalization typeMatrix normalization method. Frobenius (default) is standard for most protein families. Spectral can be useful for very large alignments.
Randomization trialsNumber of randomized alignments for significance testing (1-100, default 10). More trials give a more stable significance threshold but increase runtime.
Pseudo-count lambdaRegularization parameter for sparse position frequencies (0-1, default 0.03). Prevents overfitting when certain amino acid combinations are underrepresented.
Significant eigenmodesOverride automatic selection of significant eigenmodes (0-10, default 0 = auto). Auto-selection uses randomization trials to determine significance; 10 is pySCA's default safety cap.
Sector significance cutoffCDF threshold for including positions in a sector (0.5-1, default 0.95). Higher values produce smaller, more conservative sectors.

Outputs

OutputDescription
Processed alignmentFiltered MSA after removing low-quality positions and sequences, in FASTA format.
Sector assignmentsPer-position data including conservation score (CV), eigenvector projections (VP1-VP3), and sector membership.
EigenvaluesComplete SCA eigenvalue spectrum, with one row for every eigenmode retained by pySCA.
Raw pySCA databaseNative db.gz results bundle from native pySCA. Includes the processed sequence block, SCA matrices, sector positions, ATS labels, and other downstream analysis fields.
Run summaryMetadata including number of sequences, alignment length, sectors found, and filtering statistics.

Understanding sector assignments

Each position in the alignment receives several metrics:

ColumnMeaning
positionnative ATS position label for the processed alignment. Without an external reference mapping, this is the processed alignment position label generated by pySCA.
sectorAssigned sector ID (e.g., S1, S2) or None if the position is not part of any sector.
conservationConservation score (CV) at each position. Higher values indicate more evolutionary constraint.
vp1, vp2, vp3Projections onto the first three significant eigenvectors. Large absolute values indicate strong contribution to the corresponding mode.

Positions assigned to a sector typically have high conservation and large eigenvector projections compared to the rest of the protein. A globin alignment, for example, might place heme-contacting and helix-stabilizing residues into the same sector, revealing the physical network that maintains oxygen-binding function.

How pySCA works

SCA operates in several stages on a multiple sequence alignment.

1. Pre-processing. The alignment is filtered to remove positions with excessive gaps and sequences that are too divergent or too similar to the reference. This reduces noise from poorly aligned regions and sequence sampling bias. The remaining amino acid frequencies are regularized using pseudo-counts to handle sparse data.

2. Position-specific conservation. For each column in the filtered alignment, a conservation score (CV) measures how constrained that position is across the family, compared to a random distribution of amino acids.

3. Statistical coupling matrix. The DeltaDelta matrix is computed, capturing pairwise statistical dependencies between all position pairs. Each element measures how much the amino acid distribution at one position changes when the amino acid at another position is fixed.

4. Eigenmode decomposition. Singular value decomposition (SVD) extracts the dominant patterns of covariation from the coupling matrix. The largest eigenmodes represent the most significant collective evolutionary constraints.

5. Independent component analysis. ICA is applied to the significant eigenmodes to isolate statistically independent residue groups. Each independent component corresponds to a protein sector, which can be mapped back onto the structure as a physically connected network.

The number of sectors typically ranges from 1 to 4, depending on the protein family size and functional diversity.

When to use pySCA vs alternatives

SCA is not the only coevolution method. Choosing the right tool depends on the goal.

ApproachBest forTradeoffs
pySCA (SCA)Identifying functional residue networks within a protein family. Sectors map to physical pathways on the structure.Requires a well-curated MSA of closely related homologs. Less reliable for very small or very large families.
Direct coupling analysis (DCA)Predicting residue-residue contacts for structure prediction. Strong pairwise couplings indicate spatial proximity.Optimized for distance prediction, not functional decomposition. Produces contact maps without functional interpretation.
Phylogenetic methodsTracing evolutionary history and ancestral sequence reconstruction.Captures lineage-level patterns rather than within-family functional constraints.
Mutual information (MI)Detecting pairwise correlations in an MSA. Simple and fast.Suffers from phylogenetic noise and indirect correlations. SCA explicitly corrects for both.

A practical workflow might use DCA to validate a predicted structure, then SCA to identify which subset of contacting residues forms a functional sector. The sector positions can then guide mutagenesis experiments or inform restraints for molecular docking.

Table of contents

Related tools

CANYA

CANYA

Predict protein aggregation nucleation propensity from amino acid sequences using the Lehner Lab CANYA neural network.

sequence-analysismachine-learning+5
ESM-2

ESM-2

ESM-2 is a 650M parameter protein language model from Meta AI trained on 250M protein sequences. Generate rich sequence representations for downstream tasks like structure prediction, function annotation, and variant effect prediction.

sequence-analysisembeddings+3
ESM-C

ESM-C

ESM-C generates protein sequence representations and optional forward-pass sequence logits using Biohub protein language models. It supports the 300M, 600M, and 6B model variants for embedding extraction from tokenizer-compatible protein sequences.

sequence-analysisai-powered+4
Protein-Sol

Protein-Sol

Predict protein solubility from amino acid sequence using the University of Manchester Protein-Sol method.

sequence-analysisempirical+3
AbLang

AbLang

Restore missing antibody residues, generate 768-dimensional sequence or residue representations, and calculate amino-acid likelihood scores with the original AbLang heavy- and light-chain models.

sequence-analysisdeep-learning+2
AbLang-2

AbLang-2

Antibody-specific language model for predicting non-germline residues (NGL) in antibody sequences. AbLang-2 addresses germline bias in existing antibody language models by focusing on somatic hypermutation patterns, enabling more accurate prediction of amino acid likelihoods and generation of context-aware embeddings for antibody sequences.

sequence-analysisai-powered+5
AF-Cluster

AF-Cluster

Cluster protein multiple sequence alignments with the source AF-Cluster DBSCAN workflow to prepare subgroup MSAs for alternative-conformation prediction.

sequence-analysisprotein+2
DR-BERT

DR-BERT

DR-BERT is a compact protein language model that predicts intrinsically disordered regions (IDRs) in proteins. It outputs per-residue disorder probability scores (0–1) from amino acid sequences, enabling fast and accurate annotation of disordered regions without structural data.

sequence-analysisai-powered+3
EvoIF

EvoIF

Score protein mutations with evolutionary profiles from homologous sequences and inverse folding. EvoIF returns a dimensionless log-odds score for each submitted single or multi-site mutation.

protein-analysisproperty-prediction+3
IPC 2.0 (isoelectric point calculator)

IPC 2.0 (isoelectric point calculator)

Isoelectric Point Calculator 2.0 - Predict protein/peptide isoelectric point (pI) using 18+ validated pKa scales, SVR models, and deep learning. Supports proteins, peptides, and comprehensive analysis.

sequence-analysisphysicochemical-properties+2