A design pattern is the abstraction of what tends to be similar among the different solutions that arise to the same class of problem. Design patterns are well known in various fields, incuding archaeology and object-oriented software development. In genomics, a design pattern can be seen in how genes are arranged on the chromosome (e.g. the divergon), how domains and motifs are arranged within a protein, and how proteins from certain classes manage to work together in the same class of subsystem.  Once a design pattern and its meaning are recognized, it becomes possible to reason by analogy about largely or completely uncharacterized genes.

Here are some examples of evolutionary constraints that lead to distinctive patterns of design.

If a genome encodes enzymes that depend on a cofactor, they must encode either a way to make the cofactor or a way to import it. If only one enzyme in a genome requires the cofactor, making it a dedicated system, the gene for that enzyme may be encoded near the gene cluster for synthesizing the cofactor.

The feature that marks the targets of a protein sorting system is often a short stretch of sequence at the N- or the C-terminus with a hydrophobic transmembrane alpha helix, a conserved motif on one side for recognition and cleavage, and a cluster of basic residues on the other. Because the PGF-CTERM domain could be identified as a sorting signal by its design, the archaeosortase protein found with it could identified as a transpeptidase even before its experimental characterization.

Utilization of a nutrient such as a simple sugar typically requires both a transporter for uptake and a set of enzymes for a multistep catabolic pathway. The pathway nearly always will include at least one or two from a guild of protein families particularly abundant in carbohydrate degradation pathways.

The polypeptide precursors of RiPPs (ribosomally synthesized and post-translationally modified peptide natural products) are encoded by small ORFs that could easily be missed by ab initio gene finding software. However, the typical design pattern is that genes encoding the precursor(s) and the maturase(s) are next to each other.