Protein Structure Prediction

Lesson 1 of 14 · 10 min

Levels of protein structure: primary to quaternary

Protein structure is organized into four hierarchical levels, and nearly every method in this course predicts or refines one or more of them. Primary structure is the amino acid sequence, secondary structure is the local backbone conformation, tertiary structure is the full three-dimensional fold of a single chain, and quaternary structure is the assembly of multiple chains. This lesson fixes the vocabulary you will reuse for the rest of the course.

Primary structure

The primary structure is the covalent sequence of residues read from the free amino terminus to the carboxy terminus. Adjacent residues are joined by planar peptide bonds, which pins the omega dihedral near 180 degrees in the trans conformation. Covalent cross-links also belong to the primary structure, most importantly disulfide bonds formed between the sulfur atoms of two cysteine side chains at a characteristic S-S distance of about 2.05 angstroms.

Backbone dihedrals

Secondary structure is governed by the backbone dihedral angles phi, defined by C(i-1)-N(i)-CA(i)-C(i), and psi, defined by N(i)-CA(i)-C(i)-N(i+1). Right-handed alpha helices cluster near phi -57 and psi -47 degrees, while extended beta strands sit near phi -120 and psi 130 degrees, the two dominant basins of the Ramachandran plot. DSSP does not assign these states from dihedrals alone but from the pattern of backbone amide-carbonyl hydrogen bonds, labeling residues as H, G, or I helices, E and B strands, or T and S turns and bends.

bash
curl -sO https://files.rcsb.org/download/1UBQ.pdb
ls -lh 1UBQ.pdb
-rw-r--r--  1 user  staff    77K Jul 13 10:22 1UBQ.pdb
python
# requires: pip install biopython, plus the DSSP executable (mkdssp) on PATH
from Bio.PDB import PDBParser, DSSP
from collections import Counter

model = PDBParser(QUIET=True).get_structure("1ubq", "1UBQ.pdb")[0]
dssp = DSSP(model, "1UBQ.pdb")

ss = Counter(dssp[k][2] for k in dssp.keys())
print("SS counts:", ss)

phi, psi = dssp[("A", (" ", 28, " "))][4:6]
print(f"res 28 (helix) phi/psi: {phi:.1f} {psi:.1f}")
SS counts: Counter({'E': 22, '-': 20, 'T': 12, 'H': 11, 'G': 5, 'S': 5, 'B': 1})
res 28 (helix) phi/psi: -63.5 -41.2

Tertiary and quaternary

Tertiary structure is how the secondary-structure elements pack into a compact, folded chain, often partitioned into semi-independent domains that fold and evolve as units. Ubiquitin adopts a single beta-grasp domain, a five-stranded mixed sheet wrapped against one alpha helix, which is exactly what the DSSP counts above describe. Quaternary structure describes how several chains associate into a biological assembly through inter-chain contacts; hemoglobin, for example, is an alpha2 beta2 heterotetramer. Remember that a PDB file stores the crystallographic asymmetric unit, which may differ from the biologically relevant assembly.

Try it yourself: In Mol* (molstar.org) or PyMOL, load 1UBQ and color by secondary structure to find its single alpha helix and five beta strands, confirming the beta-grasp domain. Then load the tetramer 2HHB and color by chain to see the four globin subunits; select chain A and enumerate residues within 4 angstroms of chain B (in PyMOL: select iface, byres (chain A within 4 of chain B)) to read off the inter-chain interface. Note that the 2HHB subunits are all-alpha globin folds, so no beta sheets appear.