If you use any modern computational protein design tool, at some level it is using co-variation information from multiple sequence alignments. Understanding what co-variation is, why it encodes useful information, and how it gets extracted and used is not just an ML researcher's concern. It directly affects how you interpret model outputs and how you diagnose cases where the model gives you results that look strange.
This article assumes you are a protein engineer who has worked with MSAs and knows what a contact map is. You do not need to know the math behind mutual information or direct coupling analysis. But after reading this, you should be able to read a co-variation contact map with the same confidence you read a conservation score, and you should be able to explain to a colleague why two positions might need to change together.
What Co-variation Is and Where It Comes From
Co-variation describes the statistical tendency of two positions in a protein sequence to change together across homologs. When you build a multiple sequence alignment of a protein family, you are collecting evolutionary samples of sequences that all perform roughly the same function. Each sequence is the result of billions of years of selection on a slightly different genetic background, under slightly different environmental conditions.
If positions i and j are structurally in contact, a mutation at position i that changes the local packing geometry must often be accompanied by a compensatory change at position j to maintain stability. Over evolutionary time, this shows up as correlated substitution patterns: when you see amino acid A at position i, you tend to see amino acid B at position j. When position i carries a different residue, position j has shifted too.
This coupling is not limited to direct physical contacts. Positions that are functionally coupled (one in a substrate binding loop, one in the hinge region that moves the loop) can show co-variation even when they are not in spatial contact. And positions in an allosteric pathway, where a signal propagates from a distal site to the active site, often show co-variation across the entire pathway, despite the large distances involved.
The key insight is this: co-variation in the MSA is evolution's record of which positions must change together to maintain fitness. It is a compressed encoding of the structure-function constraints of the protein family, written in the language of substitution history rather than three-dimensional coordinates.
Direct Coupling Analysis and Its Descendants
The challenge with reading co-variation from an MSA is that raw pairwise correlations between columns are noisy and transitive. If positions i and j are both correlated with position k, they will appear correlated with each other, even if there is no direct functional or structural link between i and j. This transitive correlation inflates the apparent co-variation network and makes it hard to identify the true direct couplings.
Direct coupling analysis (DCA), developed initially in the context of residue contact prediction, addresses this by fitting a global statistical model to the MSA and inferring the parameters that best explain the observed co-variation patterns, with transitivity explicitly accounted for. The output is a matrix of direct coupling coefficients between every pair of positions. Pairs with high direct coupling are genuinely co-constrained, not just correlated through a third position.
The landmark result from DCA is that high direct coupling between positions predicts spatial contacts in the three-dimensional structure, with an accuracy that was surprising when the result was first published in 2011. The evolutionary record had been encoding the contact map all along.
Modern protein structure prediction methods, including the attention-based architecture in AlphaFold2, effectively learn a richer version of the same information. The multiple sequence alignment fed to AlphaFold2 contains co-variation patterns that the model learns to map to structural predictions. When people say "deep MSA improves AlphaFold accuracy," this is mechanistically what is happening: more sequences give a better estimate of the co-variation pattern, which improves the model's confidence about structural features.
How to Read a Co-variation Contact Map
A co-variation contact map is a square matrix where each cell represents a pair of positions (i, j) and the value represents the strength of their direct coupling. High values, usually rendered in warmer colors, indicate positions that are strongly co-constrained by evolution. Low values indicate positions that change independently.
The visual pattern you expect to see in a well-structured protein has some characteristic features. Positions that are close in sequence (adjacent in the primary sequence) will show strong co-variation simply due to backbone connectivity, which shows up as a band along the diagonal. Away from the diagonal, clusters of off-diagonal high-value cells correspond to secondary structure contacts: two helices that pack together, a beta-strand pair in a sheet, the interface between a loop and the core. You can often identify the topology of the protein by looking at the pattern of off-diagonal co-variation clusters.
Positions that are far apart in sequence but show strong co-variation are particularly interesting for engineering. These are long-range contacts. A mutation at one of these positions that disrupts the co-variation should, in principle, be rescued by a compensatory change at its coupled partner. If your generative model proposes a variant that carries substitutions at both members of a long-range co-varying pair, it is proposing a coordinated change that the model has learned is structurally tolerated (or even beneficial) when both substitutions appear together. Proposing only one of them, in isolation, would show a lower fitness score, because the single substitution breaks the coupling without compensating for it.
Why This Matters for Interpreting Model Outputs
When a sequence fitness model scores a double mutant higher than either of its component single mutants, co-variation is usually the reason. The model has learned that those two positions are coupled, and that the combination aligns with a known favored state in the co-variation pattern of the family. This is a positive epistatic interaction, and the co-variation map is predicting it before any wet lab experiment tests it.
Conversely, when a model assigns a low score to a single substitution that intuitively looks reasonable (the residue is on the surface, it is chemically similar to the wild-type, the position is not in the active site), the reason is often that the proposed substitution disrupts a co-variation constraint. The wild-type residue at that position is there because it was co-selected with a specific set of residues at partner positions. Changing it alone creates a sequence that is off-manifold relative to what evolution has tolerated.
Understanding this gives you a practical tool. If you see a model score that surprises you in either direction, check the co-variation map for the position in question. If the proposed substitution affects a high-coupling position, expect the single-mutant behavior to be poorly predicted; you need to look at the doubly-substituted variants that the model is likely to rank more favorably.
What Shallow MSAs Do to Co-variation Signal
Reliable co-variation estimation requires enough sequences to detect statistical patterns that are not noise. The rule of thumb from the DCA literature is that you want at least five to ten times as many sequences as positions to estimate meaningful direct couplings. For a 300-residue protein with a 450,000-entry alignment depth, you are well-covered. For a 300-residue protein with only 80 sequences in your MSA, most of the co-variation you compute is noise.
This matters practically when you are working on a poorly characterized protein family. Orphan enzymes, engineered proteins with no close natural homologs, or very recently evolved binding proteins may have MSAs that are too shallow to provide reliable co-variation signal. In those cases, co-variation-based model scores will have high uncertainty. The model may still make useful predictions based on other signals (single-position conservation, physicochemical plausibility, structural context if a structure is available), but you should reduce your confidence in the co-variation component of the score.
A quick diagnostic: if your MSA has fewer than roughly 5 times the sequence length in unique sequences (after filtering for redundancy at 90 percent identity), the co-variation estimates are going to be noisy. This does not mean you cannot run a campaign, but it means your model outputs need wider uncertainty intervals and your prospective validation is more important.
The Practical Bottom Line
Co-variation is evolution's recorded answer to the question: which pairs of positions in this protein have been historically constrained to change together? It encodes both structural contacts and functional dependencies, in a way that is complementary to but not redundant with structural data. Modern fitness models extract and use this information, which is why they can propose non-obvious multi-site variants that perform better in assay than would be predicted from single-site reasoning.
You do not need to understand the numerical details of mutual information or pseudolikelihood optimization to use this. You need to know that positions with high direct coupling are co-constrained, that single-mutant scores at coupled positions can be misleading, and that shallow MSAs degrade the quality of co-variation inference. Those three principles cover the majority of the interpretive questions that come up in a real campaign.