The dead-end elimination algorithm (DEE) is a method for minimizing a function over a discrete set of independent variables. The basic idea is to identify "dead ends", i.e., combinations of variables that are not necessary to define a global minimum because there is always a way of replacing such combination by a better or equivalent one. Then we can refrain from searching such combinations further. Hence, dead-end elimination is a mirror image of dynamic programming, in which "good" combinations are identified and explored further. Although the method itself is general, it has been developed and applied mainly to the problems of predicting and designing the structures of proteins. It closely related to the notion of dominance in optimization also known as substitutability in a Constraint Satisfaction Problem. The original description and proof of the dead-end elimination theorem can be found in [1].

## Basic requirements

An effective DEE implementation requires four pieces of information:

1. A well-defined finite set of discrete independent variables
2. A precomputed numerical value (considered the "energy") associated with each element in the set of variables (and possibly with their pairs, triples, etc.)
3. A criterion or criteria for determining when an element is a "dead end", that is, when it cannot possibly be a member of the solution set
4. An objective function (considered the "energy function") to be minimized

Note that the criteria can easily be reversed to identify the maximum of a given function as well.

## Applications to protein structure prediction

Dead-end elimination has been used effectively to predict the structure of side chains on a given protein backbone structure by minimizing an energy function ${\displaystyle E}$. The dihedral angle search space of the side chains is restricted to a discrete set of rotamers for each amino acid position in the protein (which is, obviously, of fixed length). The original DEE description included criteria for the elimination of single rotamers and of rotamer pairs, although this can be expanded.

In the following discussion, let ${\displaystyle N}$ be the length of the protein and let ${\displaystyle r_{k}}$ represent the rotamer of the ${\displaystyle \mathrm {k^{th}} }$ side chain. Since atoms in proteins are assumed to interact only by two-body potentials, the energy may be written

${\displaystyle E_{TOT}=\sum _{k}E_{k}(r_{k})+\sum _{k\neq l}E_{kl}(r_{k},r_{l})\,}$

Where ${\displaystyle E_{k}(r_{k})}$ represents the "self-energy" of a particular rotamer ${\displaystyle r_{k}}$, and ${\displaystyle E_{kl}(r_{k},r_{l})}$ represents the "pair energy" of the rotamers ${\displaystyle r_{k},r_{j}}$.

Also note that ${\displaystyle E_{kk}(r_{k}^{A},r_{k}^{A})}$ (that is, the pair energy between a rotamer and itself) is taken to be zero, and thus does not affect the summations. This notation simplifies the description of the pairs criterion below.

### Singles elimination criterion

If a particular rotamer ${\displaystyle r_{k}^{A}}$ of sidechain ${\displaystyle k}$ cannot possibly give a better energy than another rotamer ${\displaystyle r_{k}^{B}}$ of the same sidechain, then rotamer A can be eliminated from further consideration, which reduces the search space. Mathematically, this condition is expressed by the inequality

${\displaystyle E_{k}(r_{k}^{A})+\sum _{l=1}^{N}\min _{X}E_{kl}(r_{k}^{A},r_{l}^{X})>E_{k}(r_{k}^{B})+\sum _{l=1}^{N}\max _{X}E_{kl}(r_{k}^{B},r_{l}^{X})}$

where ${\displaystyle \min _{X}E_{kl}(r_{k}^{A},r_{l}^{X})}$ is the minimum (best) energy possible between rotamer ${\displaystyle r_{k}^{A}}$ of sidechain ${\displaystyle k}$ and any rotamer X of side chain ${\displaystyle l}$. Similarly, ${\displaystyle \max _{X}E_{kl}(r_{k}^{B},r_{l}^{X})}$ is the maximum (worst) energy possible between rotamer ${\displaystyle r_{k}^{B}}$ of sidechain ${\displaystyle k}$ and any rotamer X of side chain ${\displaystyle l}$.

### Pairs elimination criterion

The pairs criterion is more difficult to describe and to implement, but it adds significant eliminating power. For brevity, we define the shorthand variable ${\displaystyle U_{kl}^{AB}}$ that is the intrinsic energy of a pair of rotamers ${\displaystyle A}$ and ${\displaystyle B}$ at positions ${\displaystyle k}$ and ${\displaystyle l}$, respectively

${\displaystyle U_{kl}^{AB}\ {\stackrel {\mathrm {def} }{=}}\ E_{k}(r_{k}^{A})+E_{l}(r_{l}^{B})+E_{kl}(r_{k}^{A},r_{l}^{B})}$

A given pair of rotamers ${\displaystyle A}$ and ${\displaystyle B}$ at positions ${\displaystyle k}$ and ${\displaystyle l}$, respectively, cannot both be in the final solution (although one or the other may be) if there is another pair ${\displaystyle C}$ and ${\displaystyle D}$ that always gives a better energy. Expressed mathematically,

${\displaystyle U_{kl}^{AB}+\sum _{i=1}^{N}\min _{X}\left(E_{ki}(r_{k}^{A},r_{i}^{X})+E_{lj}(r_{l}^{B},r_{j}^{X})\right)>U_{kl}^{CD}+\sum _{i=1}^{N}\max _{X}\left(E_{ki}(r_{k}^{C},r_{i}^{X})+E_{lj}(r_{l}^{D},r_{j}^{X})\right)}$

where ${\displaystyle A\neq C}$, ${\displaystyle B\neq D}$ and ${\displaystyle k\neq l}$.

### Energy matrices

For large ${\displaystyle N}$, the matrices of precomputed energies can become costly to store. Let ${\displaystyle N}$ be the number of amino acid positions, as above, and let ${\displaystyle p}$ be the number of rotamers at each position (this is usually, but not necessarily, constant over all positions). Each self-energy matrix for a given position requires ${\displaystyle p}$ entries, so the total number of self-energies to store is ${\displaystyle Np}$. Each pair energy matrix between two positions ${\displaystyle r_{k}}$ and ${\displaystyle r_{l}}$, for ${\displaystyle p}$ discrete rotamers at each position, requires a ${\displaystyle p\times p}$ matrix. This makes the total number of entries in an unreduced pair matrix ${\displaystyle N^{2}p^{2}}$. This can be trimmed somewhat, at the cost of additional complexity in implementation, because pair energies are symmetrical and the pair energy between a rotamer and itself is zero.

## Implementation and efficiency

The above two criteria are normally applied iteratively until convergence, defined as the point at which no more rotamers or pairs can be eliminated. Since this is normally a reduction in the sample space by many orders of magnitude, simple enumeration will suffice to determine the minimum within this pared-down set.

Given this model, it is clear that the DEE algorithm is guaranteed to find the optimal solution; that is, it is a global optimization process. The single-rotamer search scales quadratically in time with total number of rotamers. The pair search scales cubically and is the slowest part of the algorithm (aside from energy calculations). This is a dramatic improvement over the brute-force enumeration which scales as ${\displaystyle O(p^{N})}$.

A large-scale benchmark of DEE compared with alternative methods of protein structure prediction and design finds that DEE reliably converges to the optimal solution for protein lengths for which it runs in a reasonable amount of time[2]. It significantly outperforms the alternatives under consideration, which involved techniques derived from mean field theory, genetic algorithms, and the Monte Carlo method. However, the other algorithms are appreciably faster than DEE and thus can be applied to larger and more complex problems; their relative accuracy can be extrapolated from a comparison to the DEE solution within the scope of problems accessible to DEE.

## Protein design

Main article: Protein design

The preceding discussion implicitly assumed that the rotamers ${\displaystyle r_{k}}$ are all different orientations of the same amino acid side chain. That is, the sequence of the protein was assumed to be fixed. It is also possible to allow multiple side chains to "compete" over a position ${\displaystyle k}$ by including both types of side chains in the set of rotamers for that position. This allows a novel sequence to be designed onto a given protein backbone. A short zinc finger protein fold has been redesigned this way[3]. However, this greatly increases the number of rotamers per position and still requires a fixed protein length.

## Generalizations

More powerful and more general criteria have been introduced that improve both the efficiency and the eliminating power of the method for both prediction and design applications. One example is a refinement of the singles elimination criterion known as the Goldstein criterion[4], which arises from fairly straightforward algebraic manipulation before applying the minimization:

${\displaystyle E_{k}(r_{k}^{A})-E_{k}(r_{k}^{B})+\sum _{l=1}^{N}\min _{X}\left(E_{kl}(r_{k}^{A},r_{l}^{X})-E_{kl}(r_{k}^{B},r_{l}^{X})\right)>0}$

Thus rotamer ${\displaystyle r_{k}^{A}}$ can be eliminated if any alternative rotamer from the set at ${\displaystyle r_{k}}$ contributes less to the total energy than ${\displaystyle r_{k}^{A}}$. This is an improvement over the original criterion, which requires comparison of the best possible (that is, the smallest) energy contribution from ${\displaystyle r_{k}^{A}}$ with the worst possible contribution from an alternative rotamer.

An extended discussion of elaborate DEE criteria and a benchmark of their relative performance can be found in [5].

## References

1. ^ Desmet J, de Maeyer M, Hazes B, Lasters I. (1992). The dead-end elimination theorem and its use in protein side-chain positioning. Nature, 356, 539-542. PMID 21488406.
2. ^ Voigt CA, Gordon DB, Mayo SL. (2000). Trading accuracy for speed: A quantitative comparison of search algorithms in protein sequence design. J Mol Biol 299(3):789-803.
3. ^ Dahiyat BI, Mayo SL. (1997). De novo protein design: fully automated sequence selection. Science 278(5335):82-7.
4. ^ Goldstein RF. (1994). Efficient rotamer elimination applied to protein side-chains and related spin glasses. Biophys J 66(5):1335-40.
5. ^ Pierce NA, Spriet JA, Desmet J, Mayo SL. (2000). Conformational splitting: a more powerful criterion for dead-end elimination. J Comput Chem 21: 999-1009.