Level 1 · Foundations · Topic 3 of 6

Proteins: from amino acids to 3D structure

Amino acid chemistry, the four levels of protein structure and why structure determines function.

  • About 90 minutes
  • 4 interactive 3D structures
  • 7 code cells · 4 checked exercises
  • 10-question check
  • Runs in your browser

What you will learn

  • Describe the parts of an amino acid and group the 20 standard amino acids by the chemistry of their side chains.
  • Explain how peptide bonds join amino acids into a chain with an N-terminus and a C-terminus, and how the chain relates to the gene that encodes it.
  • Recognise α-helices and β-sheets in real structures and explain the hydrogen bonds that hold them together.
  • Explain how the hydrophobic effect and bonds between side chains fold a chain, and how several chains form one protein.
  • Connect a single amino-acid change to a change in structure and function, using sickle-cell haemoglobin.
  • Use Python to calculate protein properties, draw a hydropathy plot and a Ramachandran plot, and measure contacts in a PDB file.

Before you start: Topic 1.1, DNA, RNA and the central dogma, in particular codons, translation and the sickle-cell mutation. Topic 1.2 helps but is not required. The code runs in your browser.

Why this matters for bioinformatics

Proteins do most of the work in a cell. They speed up chemical reactions, carry oxygen, copy DNA, pass on signals and hold cells in shape. Most of what a gene does, it does through a protein, and most of what a protein does depends on its three-dimensional shape.

So many everyday bioinformatics questions are protein questions. Will this variant damage the protein? Which part of the protein does it fall in, and what does that part do? Is a newly sequenced gene related to a protein we already understand? AI methods such as AlphaFold now predict the structure of most proteins from their sequence, each part with a confidence score, so reasoning from sequence to structure has become a routine skill.

Amino acids: twenty building blocks

Every amino acid has the same core. A central carbon, the α-carbon (Cα), carries four groups: an amino group, a carboxyl group, a hydrogen atom and a side chain, written R. Only the side chain differs between amino acids. In water at neutral pH, such as the pH 7.4 of blood, the amino group gains a proton and the carboxyl group loses one, so a free amino acid carries both a positive and a negative charge.

An α-carbon bonded to an amino group, a carboxyl group, a hydrogen and a side chain, R. On the left the neutral form; on the right the form found at pH 7.4, where the amino group carries a positive charge (NH3+) and the carboxyl group a negative one (COO−).
Swipe sideways to see the whole figure. The parts shared by every amino acid. The wedge shows that the hydrogen points towards you: the four groups around the α-carbon are arranged in three dimensions. Open full size

Because the α-carbon carries four different groups, every amino acid except glycine exists in two mirror-image forms, L and D. Ribosomes build proteins only from the L forms. The genetic code specifies 20 standard amino acids, and their side chains range from oily hydrocarbons to strongly charged groups. Grouping them by side-chain chemistry is the key to understanding how proteins fold:

Skeletal structures of the 20 amino acids that the genetic code specifies, each drawn with its amino group on the left, carboxylate on the right and side chain below. Nonpolar, aliphatic: glycine, alanine, valine, leucine, isoleucine, methionine and proline. Aromatic: phenylalanine, tyrosine and tryptophan. Positively charged: lysine, arginine and histidine. Polar, uncharged: serine, threonine, cysteine, asparagine and glutamine. Negatively charged: aspartate and glutamate.
Swipe sideways to see the whole figure. The 20 standard amino acids, as they are at pH 7.4, each with its three-letter and one-letter code. Drawn from their chemical structures with RDKit, which also confirmed that each is the L form. Open full size
  • Glycine has only a hydrogen as its side chain. It is the most flexible amino acid and fits where no other will, such as tight turns.
  • Proline’s side chain loops back and bonds to its own amino group. That locks the backbone in place, so proline breaks helices and often sits in bends.
  • Cysteines can pair up: the sulfur atoms of two cysteines bond to each other in a disulfide bond, a covalent cross-link that stabilises many secreted proteins.
  • Histidine’s side chain gains or loses a proton close to the pH of a cell, so it is often found where proteins do chemistry or bind metal ions. In myoglobin, below, a histidine holds the iron atom of the heme.

Peptide bonds and the protein chain

Amino acids are joined by peptide bonds. The carboxyl group of one amino acid reacts with the amino group of the next, a molecule of water is released, and the carbon and nitrogen that remain bond to each other. The ribosome does this for every codon it reads.

Methionine and valine combine in a condensation reaction: the OH of methionine’s carboxyl group and an H from valine’s amino group (shaded red) leave as a molecule of water, and the carbon and nitrogen that remain form a peptide bond (shaded teal), making the dipeptide Met-Val.
Swipe sideways to see the whole figure. Methionine and valine, the first two amino acids encoded by HBB, joining in a condensation reaction. The atoms that leave as water are shaded red; the new peptide bond is shaded teal. Open full size

A chain of amino acids is a polypeptide. Its backbone repeats the same three atoms, N, Cα and C, over and over, with the side chains sticking out. One end has a free amino group, the N-terminus, and the other a free carboxyl group, the C-terminus. Protein sequences are always written from N to C, which is also the order the ribosome makes them in: the codon nearest the 5′ end of the mRNA gives the N-terminal amino acid.

The first four amino acids encoded by the HBB gene, methionine, valine, histidine and leucine, joined by three peptide bonds (shaded teal). The backbone repeats N, Cα, C along the chain from the free amino group at the N-terminus to the free carboxylate at the C-terminus; side chains (shaded) point out to alternate sides.
Swipe sideways to see the whole figure. The first four amino acids encoded by HBB, joined into a chain. Teal: the three peptide bonds. Side chains are shaded by chemistry, as in the chart above. Open full size

The peptide bond behaves partly like a double bond, so the six atoms around it lie flat in one plane and cannot rotate. The chain can only twist around the two single bonds on either side of each α-carbon. Their angles are called φ (phi, around the N–Cα bond) and ψ (psi, around the Cα–C bond). Because atoms cannot overlap, only some combinations of φ and ψ are possible. G. N. Ramachandran mapped them in 1963, and his plot is still a standard check of every new protein structure. You will draw one for myoglobin in the code lab.

Secondary structure: helices and sheets

The backbone of a protein has a hydrogen-bond donor (N–H) and an acceptor (C=O) at every peptide bond. Folding the chain so that these groups bond to each other creates regular local shapes called secondary structure. In 1951 Linus Pauling, Robert Corey and Herman Branson predicted the α-helix from the geometry of the peptide bond alone, and Pauling and Corey proposed the β-sheet the same year, years before any protein structure had been solved.

  • The α-helix is a right-handed coil with 3.6 amino acids per turn, rising 1.5 Å per amino acid. The C=O of each amino acid forms a hydrogen bond with the N–H four amino acids further along, and the side chains point outwards.
  • The β-sheet is made of extended strands, about 3.3 Å per amino acid, lying side by side with hydrogen bonds running across between neighbouring strands. Strands can run in the same direction (parallel) or in opposite directions (antiparallel), and side chains alternate above and below the sheet.
  • Turns and loops connect helices and strands. They are usually on the surface and often richest in glycine, proline and polar amino acids.
Backbone atoms of ubiquitin (PDB 1UBQ) drawn from their crystal coordinates. In the α-helix (residues 23 to 34), the C=O of each residue forms a hydrogen bond with the N–H four residues further along. In the antiparallel β-hairpin (residues 1 to 7 and 10 to 17) and the parallel pair of strands (residues 1 to 7 and 63 to 70), hydrogen bonds run across between neighbouring strands.
Swipe sideways to see the whole figure. Backbone atoms of ubiquitin drawn from its crystal coordinates, with the hydrogen bonds found by the DSSP energy rule. The helix grows about 1.5 Å longer with each amino acid, close to the 1951 prediction. Open full size
Interactive 3D structureUbiquitin (PDB 1UBQ)
Ubiquitin (PDB 1UBQ). A small protein of 76 amino acids, found in every eukaryotic cell, where it is attached to other proteins as a tag, for example to mark them for destruction. Solved by X-ray crystallography at 1.8 Å. Helices are raspberry, β-strands amber arrows pointing from N to C. 1UBQ at RCSB PDB · Download coordinates (77 KB)

Try this

  1. With H-bonds on, look along the long helix. Its dashed bonds run roughly parallel to the helix axis, each linking two amino acids four apart: hover over the atoms at each end of one to read their numbers.
  2. Find the β-hairpin formed by residues 1–7 and 10–17: two arrows side by side, pointing in opposite directions, with rungs of hydrogen bonds between them.
  3. Colour from the N- to C-terminus and follow the chain from blue (residue 1) to red (residue 76). The first strand, residues 1–7, pairs with a strand near the very end of the chain: strands that touch in the sheet can be far apart in the sequence.
  4. Measure the helix: click its first and last Cα atoms, Ile 23 and Glu 34 (hover to check the numbers; in Cartoon style a click on the ribbon picks the Cα). They are 16.35 Å apart: 11 amino acids, about 1.5 Å each.

Because a helix turns 100° for each amino acid, residues three or four apart in the sequence end up on the same face of the helix. Many helices therefore have one hydrophobic face and one polar face: they are amphipathic. A helical wheel shows this by looking straight down the helix axis.

Interactive

Look down the axis of a helix

Each amino acid is placed 100° round from the one before. The orange arrow, the hydrophobic moment, adds up the Kyte–Doolittle hydropathy of every residue in the direction it points; a long arrow means one face is much more hydrophobic than the other.

  • Magainin 2, a 23-amino-acid antimicrobial peptide from the skin of the African clawed frog, is strongly amphipathic: a hydrophobic face and a face lined with positively charged lysines. As a helix it lies on bacterial membranes and disrupts them.
  • The first membrane helix of LacY, the lactose permease of E. coli, is hydrophobic all the way round (mean hydropathy 1.52, moment 0.10): it is buried in the fatty core of the membrane, with no water on any side.
  • Helix A of myoglobin has a hydrophobic face that packs against the rest of the protein and a charged face that meets water.

Tertiary structure: folding the whole chain

The full three-dimensional shape of one chain is its tertiary structure. The main force behind it is the hydrophobic effect. Water molecules bond strongly to each other, and nonpolar side chains disrupt that network, so a chain folds in the way that hides as many nonpolar side chains as possible in a core, away from water, while polar and charged side chains stay on the surface. Other interactions then fine-tune the fold: hydrogen bonds, salt bridges between oppositely charged side chains, close packing of atoms, and sometimes disulfide bonds.

In the 1950s and 1960s Christian Anfinsen unfolded the enzyme ribonuclease with chemicals and showed that it folded back into its working shape on its own once they were removed. The sequence contains the information for the structure. Inside crowded cells many proteins get help from chaperones, but the principle stands, and it is why structure can be predicted from sequence. Larger proteins are often built from several domains: compact units that fold on their own and turn up, in different combinations, in many proteins.

Myoglobin: the first protein structure

In 1958 John Kendrew’s team published a three-dimensional model of myoglobin, the oxygen store of muscle, the first protein structure ever solved. Myoglobin is a single chain of 153 amino acids folded into eight helices, labelled A to H, around a heme: a flat ring with an iron atom at its centre, where oxygen binds. The structure below is sperm whale myoglobin with oxygen bound, refined at 1.6 Å.

Interactive 3D structureOxygen-bound myoglobin (PDB 1MBO)
Oxygen-bound myoglobin (PDB 1MBO). Sperm whale myoglobin with its heme (sticks, iron as a brown sphere) and a bound oxygen molecule. The two labelled histidines sit on either side of the heme: His93, the proximal histidine, binds the iron, and His64, the distal histidine, sits next to the oxygen. 1MBO at RCSB PDB · Download coordinates (157 KB)

Try this

  1. Find the heme and its iron between helices E and F. The proximal histidine, His93 on helix F, binds the iron on one face of the heme; the distal histidine, His64 on helix E, sits on the other face, next to the oxygen molecule.
  2. Measure the bonds: switch to Sticks and click the iron and then atom NE2 of His93 (2.07 Å). Then click the iron and the nearer oxygen atom of O₂ (1.83 Å). His64’s NE2 is 2.77 Å from the far oxygen atom, close enough for a hydrogen bond that helps hold the oxygen in place.
  3. See the hydrophobic core: switch to Spacefill, colour by Side-chain chemistry and drag Slice to the middle. The surface is dotted with blue and red charged side chains; the cut face inside is mostly yellow and brown hydrophobic ones.
  4. Count the helices with Secondary structure colouring. Myoglobin has eight and no β-strands at all.

Quaternary structure: proteins made of several chains

Many proteins are assemblies of several chains, called subunits; how they fit together is the quaternary structure. Haemoglobin, which carries oxygen in red blood cells, has four: two α chains of 141 amino acids and two β chains of 146 (the HBB protein, without its first methionine). Each chain folds like myoglobin and holds its own heme, so one haemoglobin molecule carries up to four oxygen molecules.

The four chains do more than share a package. When oxygen binds to one subunit, the whole molecule shifts shape in a way that makes the other subunits bind oxygen more readily. This cooperativity lets haemoglobin pick up oxygen efficiently in the lungs and release much of it in the tissues, which a single myoglobin-like chain could not do. Max Perutz, who solved the structure, and John Kendrew shared the 1962 Nobel Prize in Chemistry.

Interactive 3D structureHuman deoxyhaemoglobin (PDB 4HHB)
Human deoxyhaemoglobin (PDB 4HHB). Haemoglobin without oxygen, solved at 1.74 Å: two α chains and two β chains, each holding a heme. 4HHB at RCSB PDB · Download coordinates (463 KB)

Try this

  1. Colour by Molecule to see the two α chains and two β chains, then by Chain to tell all four apart.
  2. Compare a β chain with myoglobin above. They have the same arrangement of helices, called the globin fold, although only about a quarter of their amino acids are identical: shape is conserved more strongly than sequence.
  3. Find the four hemes. Each sits in a pocket of its own chain, well apart from the others, so the subunits must communicate through changes in shape, not by touching hemes.

When one amino acid changes: sickle-cell haemoglobin

In sickle-cell haemoglobin, HbS, glutamate 6 of the β chain is replaced by valine: the change you followed from the DNA in the first topic. Glutamate is charged and sits on the surface of the molecule, facing water. Valine is hydrophobic, so the change leaves a sticky, nonpolar knob on the outside of the protein.

When HbS loses its oxygen, that valine fits into a hydrophobic pocket on a β chain of a neighbouring haemoglobin molecule, formed mainly by phenylalanine 85 and leucine 88. Molecule after molecule links up into long fibres that distort red blood cells into the stiff sickle shape that gives the disease its name. Only deoxygenated HbS forms fibres: when oxygen is bound, haemoglobin takes a shape in which the pocket on the neighbouring molecule is not arranged to accept the valine.

Interactive 3D structureSickle-cell haemoglobin (PDB 2HBS)
Sickle-cell haemoglobin (PDB 2HBS). Two deoxyhaemoglobin S molecules from one crystal, solved at 2.05 Å, coloured one per molecule. The view is centred on valine 6 of chain H, a β chain of the orange molecule, sitting in the pocket formed by phenylalanine 85 and leucine 88 of chain B in the blue molecule. 2HBS at RCSB PDB · Download coordinates (851 KB)

Try this

  1. Rotate the view to see how Val6 of the orange molecule reaches across into the blue one. Use Slice if other chains are in the way.
  2. Measure the contact: switch to Sticks and click a methyl carbon of Val6 (CG1 or CG2) and the nearest carbon of Phe85. They are about 4 Å apart, the distance of the close packing that also holds a protein’s hydrophobic core together.
  3. Colour by Side-chain chemistry and look at the pocket: it is lined by hydrophobic side chains (yellow and brown), the right partner for a valine.

Protein data in bioinformatics

  • UniProt collects protein sequences and what is known about them. Swiss-Prot entries, such as the β-globin file P68871 used here, are reviewed by curators; TrEMBL entries are annotated automatically and are far more numerous.
  • The Protein Data Bank (PDB) holds experimentally determined structures, from X-ray crystallography, NMR and cryo-electron microscopy, each with a four-character ID such as 1MBO. For crystal structures the resolution, in ångströms, tells you how much detail the data support: smaller numbers mean more detail.
  • The AlphaFold Protein Structure Database holds predicted structures for almost every UniProt protein. Each residue has a confidence score, pLDDT; low-confidence regions are often disordered. Predictions are models, not measurements: check the confidence before you rely on any part of one.
  • InterPro and Pfam group proteins into families and domains, which is often the quickest way to guess what an unfamiliar protein does.
Drawn from real coordinates. Primary structure: the first 48 amino acids of sperm whale myoglobin, with the residues that form helices shaded. Secondary structure: myoglobin helix A as a trace through its α-carbons. Tertiary structure: the whole 153-residue myoglobin chain folded around its heme. Quaternary structure: haemoglobin, two α chains and two β chains, each holding a heme.
Swipe sideways to see the whole figure. The four levels of protein structure, drawn from the coordinates of myoglobin (1MBO) and haemoglobin (4HHB). Open full size

Code lab: analyse real proteins

Each box below is Python that runs in your browser: press Run (or Ctrl + Enter). The first run downloads Python, and the first box that uses Biopython downloads it too, which takes a few more seconds. After that, runs are quick. Your edits are saved in this browser until you press Reset.

The first three boxes work with protein sequences; the rest open PDB structure files with Biopython’s Bio.PDB module. Boxes marked Exercise are checked automatically, with a hint and a worked solution.

Example

Composition and properties of β-globin

Count the amino acids of β-globin by side-chain group, then let Biopython calculate its mass, its isoelectric point (the pH at which it carries no net charge) and its average hydropathy.

Data: P68871.fasta

from collections import Counter
from Bio.SeqUtils.ProtParam import ProteinAnalysis
def read_fasta(path):
    """Return (header, sequence) for a single-record FASTA file."""
    with open(path) as handle:
        header = handle.readline().strip()
        return header, "".join(line.strip() for line in handle)

_, protein = read_fasta("P68871.fasta")

groups = {
    "nonpolar, aliphatic": "GAPVLIM",
    "aromatic": "FYW",
    "polar, uncharged": "STCNQ",
    "positively charged": "KRH",
    "negatively charged": "DE",
}
counts = Counter(protein)
print(len(protein), "amino acids:", protein[:30], "...")
for group, letters in groups.items():
    n = sum(counts[aa] for aa in letters)
    print(f"  {group:<22}{n:>4}  ({n / len(protein):.0%})")

analysis = ProteinAnalysis(protein)
print()
print(f"Molecular weight:  {analysis.molecular_weight():,.1f} Da")
print(f"Isoelectric point: {analysis.isoelectric_point():.2f}")
print(f"Mean hydropathy (GRAVY): {analysis.gravy():.3f}")
What you should see

Half of β-globin’s 147 amino acids (73) are nonpolar and aliphatic. It weighs 15,998 Da, about 16 kDa, and its calculated isoelectric point is 6.74.

Exercise

Weigh a protein by hand

Every peptide bond releases one water molecule, so a chain weighs less than its free amino acids added together. Complete molecular_weight and compare your answer with Biopython’s.

Data: P68871.fasta

from Bio.Data.IUPACData import protein_weights     # average masses of the free amino acids, in daltons
from Bio.SeqUtils.ProtParam import ProteinAnalysis
def read_fasta(path):
    """Return (header, sequence) for a single-record FASTA file."""
    with open(path) as handle:
        header = handle.readline().strip()
        return header, "".join(line.strip() for line in handle)

_, protein = read_fasta("P68871.fasta")
WATER = 18.0153                                     # average mass of one water molecule, in daltons

print("One free alanine weighs", round(protein_weights["A"], 2), "Da")

def molecular_weight(seq):
    """Mass of a chain of amino acids, in daltons."""
    return 0.0      # TODO: add up the free amino acids, then subtract one water for each peptide bond

print(f"By hand:   {molecular_weight(protein):,.2f} Da")
print(f"Biopython: {ProteinAnalysis(protein).molecular_weight():,.2f} Da")
Exercise

Find membrane helices with a hydropathy plot

A helix that crosses a membrane needs about 20 hydrophobic amino acids in a row. In 1982 Jack Kyte and Russell Doolittle suggested averaging hydropathy over a window of 19 residues and flagging windows above 1.6. Try their method on LacY, the lactose permease of E. coli, whose 12 membrane helices are known from its crystal structure.

Data: P02920.fasta

import matplotlib.pyplot as plt
def read_fasta(path):
    """Return (header, sequence) for a single-record FASTA file."""
    with open(path) as handle:
        header = handle.readline().strip()
        return header, "".join(line.strip() for line in handle)

# Kyte-Doolittle hydropathy: positive = hydrophobic, negative = hydrophilic
KD = {"A": 1.8, "R": -4.5, "N": -3.5, "D": -3.5, "C": 2.5, "Q": -3.5, "E": -3.5, "G": -0.4, "H": -3.2, "I": 4.5,
      "L": 3.8, "K": -3.9, "M": 1.9, "F": 2.8, "P": -1.6, "S": -0.8, "T": -0.7, "W": -0.9, "Y": -1.3, "V": 4.2}

# LacY's 12 transmembrane helices, from UniProt P02920 (release 2026_03), as 1-based (start, end)
helices = [(8, 34), (42, 70), (75, 100), (105, 129), (141, 163), (167, 186),
           (221, 249), (254, 278), (289, 308), (312, 334), (347, 374), (378, 398)]

_, lacy = read_fasta("P02920.fasta")

def hydropathy(seq, window=19):
    """Mean hydropathy of every run of window residues. scores[i] covers seq[i:i + window]."""
    scores = []
    # TODO: for each start position i, append the mean KD value of seq[i:i + window]
    return scores

scores = hydropathy(lacy)
centres = [i + 19 // 2 + 1 for i in range(len(scores))]    # 1-based residue at the centre of each window

found = 0    # TODO: how many of the 12 helices contain a window centre whose score is above 1.6?

print(len(lacy), "amino acids,", len(scores), "windows;", found, "of", len(helices), "helices found")

plt.figure(figsize=(8, 3.2))
for start, end in helices:
    plt.axvspan(start, end, color="#fde7c4")
plt.plot(centres, scores, color="#0b7a6e")
plt.axhline(1.6, color="#b3261e", linestyle="--", linewidth=1)
plt.xlabel("Residue at the centre of the window")
plt.ylabel("Mean hydropathy")
plt.title("LacY, window of 19 (shaded: helices in UniProt)")
plt.show()
Example

Open a structure file and find what touches the iron

Biopython reads a PDB file into a hierarchy: structure, model, chain, residue, atom. Amino acids have an empty first ID field; the heme, the oxygen and the water molecules are “hetero” residues. NeighborSearch finds every atom near a point.

Data: 1MBO.pdb

from Bio.PDB import PDBParser, NeighborSearch

structure = PDBParser(QUIET=True).get_structure("myoglobin", "1MBO.pdb")
chain = structure[0]["A"]
amino_acids = [residue for residue in chain if residue.id[0] == " "]
others = [residue for residue in chain if residue.id[0] != " "]
print(len(amino_acids), "amino acids, from", amino_acids[0].get_resname(), amino_acids[0].id[1],
      "to", amino_acids[-1].get_resname(), amino_acids[-1].id[1])
print("Other residues:", sorted({residue.get_resname() for residue in others}))

heme = next(residue for residue in others if residue.get_resname() == "HEM")
iron = heme["FE"]
atoms = [atom for atom in structure.get_atoms() if atom.get_parent().get_resname() != "HOH"]
print()
print("Atoms within 2.6 Å of the heme iron:")
for atom in sorted(NeighborSearch(atoms).search(iron.coord, 2.6), key=lambda atom: atom - iron):
    if atom is not iron:
        residue = atom.get_parent()
        print(f"  {residue.get_resname()} {residue.id[1]:<4} {atom.get_id():<4} {atom - iron:.2f} Å")
What you should see

Six atoms hold the iron: the four nitrogens of the heme ring (1.90 to 2.00 Å), atom NE2 of His93 on one face (2.07 Å) and the first oxygen atom of O₂ on the other (1.83 Å). The second oxygen atom, at 2.59 Å, points away towards His64. Subtracting one Atom from another gives the distance in ångströms.

Exercise

Draw a Ramachandran plot

PPBuilder joins bonded amino acids into peptides, and each peptide can list its φ and ψ angles, in radians. The first amino acid has no φ and the last no ψ, so skip any pair containing None.

Data: 1MBO.pdb

import math
import matplotlib.pyplot as plt
from Bio.PDB import PDBParser, PPBuilder

structure = PDBParser(QUIET=True).get_structure("myoglobin", "1MBO.pdb")
peptides = PPBuilder().build_peptides(structure)

angles = []     # TODO: (phi, psi) in degrees for every residue where both angles are known
                #       peptide.get_phi_psi_list() gives (phi, psi) pairs in radians, or None

helical = 0     # TODO: how many residues have -160 < phi < -20 and -120 < psi < 50?

print(len(angles), "residues with both angles;", helical, "in the helical region")
plt.figure(figsize=(4.6, 4.6))
plt.scatter([phi for phi, psi in angles], [psi for phi, psi in angles], s=12, color="#d6336c")
plt.axhline(0, color="#cdd6e1", linewidth=1)
plt.axvline(0, color="#cdd6e1", linewidth=1)
plt.xlim(-180, 180)
plt.ylim(-180, 180)
plt.xlabel("phi (degrees)")
plt.ylabel("psi (degrees)")
plt.title("Ramachandran plot of myoglobin")
plt.show()
Example

Measure the hydrophobic core

The solvent-accessible surface area of a residue is the area a water-sized probe can touch. Dividing it by the largest area that amino acid can expose gives its relative exposure. Water molecules from the crystal must be removed first, or they would cover the surface.

Data: 1MBO.pdb

from Bio.PDB import PDBParser
from Bio.PDB.SASA import ShrakeRupley
from Bio.Data.PDBData import residue_sasa_scales

structure = PDBParser(QUIET=True).get_structure("myoglobin", "1MBO.pdb")
chain = structure[0]["A"]
for residue in list(chain):
    if residue.id[0] == "W":                       # a crystal water molecule
        chain.detach_child(residue.id)
ShrakeRupley().compute(structure[0], level="R")    # each residue gets a .sasa value, in square ångströms

largest = residue_sasa_scales["Wilke"]             # maximum exposure of each amino acid (Tien et al. 2013)
groups = {"large hydrophobic (V, L, I, M, F, W)": {"VAL", "LEU", "ILE", "MET", "PHE", "TRP"},
          "charged (D, E, K, R)": {"ASP", "GLU", "LYS", "ARG"}}
for name, members in groups.items():
    residues = [residue for residue in chain if residue.get_resname() in members]
    buried = [residue for residue in residues if residue.sasa / largest[residue.get_resname()] < 0.2]
    print(f"{name}: {len(buried)} of {len(residues)} buried (under 20% of their surface exposed)")
What you should see

39 of myoglobin’s 45 large hydrophobic residues are buried, against only 3 of its 44 charged ones: the hydrophobic effect, in numbers. Leave the water molecules in and most of the charged residues look buried too.

Check your understanding

Ten questions. Score 70% or more to complete this part of the topic. You can retake it as often as you like.

1Which part of an amino acid differs between the 20 standard amino acids?
2Which of these side chains is most likely to be found on the surface of a soluble protein, facing water?
3How does a peptide bond form?
4In which direction are protein sequences written?
5In an α-helix, the C=O group of amino acid i forms a hydrogen bond with…
6What holds a β-sheet together?
7What is the main driving force for the folding of a soluble protein?
8Which statement describes haemoglobin’s quaternary structure?
9Why does the sickle-cell change cause haemoglobin to form fibres?
10A paper calls the sickle-cell residue Glu6, while a clinical report says p.Glu7Val. Which is right?

Mini project: the sickle-cell contact, atom by atom

The crystal structure 2HBS contains two sickle haemoglobin molecules, and the valine 6 of one β chain touches the other molecule. Find out exactly what it touches.

  1. Compare residue 6 of a β chain in normal haemoglobin (4HHB) and in sickle haemoglobin (2HBS) (given).
  2. For every atom of Val6 in chain H, search for amino-acid atoms within 4.5 Å.
  3. Keep the residues that belong to the other molecule, as (chain, number, name).
  4. Compare your list with the pocket described in the text.
Exercise

The sickle-cell contact

Data: 2HBS.pdb 4HHB.pdb

from Bio.PDB import PDBParser, NeighborSearch

parser = PDBParser(QUIET=True)
hbs = parser.get_structure("HbS", "2HBS.pdb")[0]      # sickle haemoglobin: two molecules, chains A-D and E-H
hba = parser.get_structure("HbA", "4HHB.pdb")[0]      # normal haemoglobin

# 1. Residue 6 of a beta chain in normal and in sickle haemoglobin (PDB files number the mature chain)
print("Normal beta 6:", hba["B"][6].get_resname(), "   Sickle beta 6:", hbs["B"][6].get_resname())

# 2. Which molecule does each chain belong to?
molecule = {chain.id: 1 if chain.id in "ABCD" else 2 for chain in hbs}

# 3. Search the amino acids for anything within 4.5 Å of Val6 of chain H (molecule 2).
atoms = [atom for atom in hbs.get_atoms() if atom.get_parent().id[0] == " "]
search = NeighborSearch(atoms)
val6 = hbs["H"][6]

contacts = set()    # TODO: for each atom of val6, use search.search(atom.coord, 4.5). For every atom found,
                    #       residue = found.get_parent() and its chain is residue.get_parent().id.
                    #       Add (chain id, residue.id[1], residue.get_resname()) if that chain belongs
                    #       to the other molecule.

print("Residues of the other molecule touching Val6 of chain H:")
for chain_id, number, name in sorted(contacts, key=lambda contact: contact[1]):
    print(f"  chain {chain_id} ({'alpha' if chain_id in 'ACEG' else 'beta'}): {name} {number}")

Go further

  • Repeat the search for Val6 of chain F, the other β chain of the same molecule. What do you find?
  • In normal haemoglobin (4HHB), list everything within 4.5 Å of Glu6 of chain B. Is there a hydrophobic pocket waiting for it?
  • Count how many atoms of Phe85 and Leu88 lie within 4.5 Å of Val6, and which atoms they are.

Summary and further reading

Key takeaways

  • Every amino acid has an amino group, a carboxyl group and a side chain on its α-carbon. The 20 side chains range from nonpolar to charged, and proteins use only the L forms.
  • Peptide bonds join amino acids in condensation reactions, making a chain that is written, and made, from the N-terminus to the C-terminus.
  • The α-helix (3.6 amino acids per turn, C=O of i bonded to N–H of i + 4) and the β-sheet (hydrogen bonds between strands) are the main secondary structures.
  • Folding buries hydrophobic side chains in a core and leaves charged ones on the surface. The sequence holds the information for the fold.
  • Several chains can form one protein: haemoglobin is two α and two β chains, each with a heme, which bind oxygen cooperatively.
  • One amino acid can matter: in sickle-cell haemoglobin, valine 6 docks into a hydrophobic pocket on a neighbouring molecule and the molecules form fibres.

Key terms

Data used on this page

References and further reading

  1. Pauling L, Corey RB, Branson HR. The structure of proteins: two hydrogen-bonded helical configurations of the polypeptide chain. PNAS 37, 205–211 (1951). doi:10.1073/pnas.37.4.205
  2. Kendrew JC, et al. A three-dimensional model of the myoglobin molecule obtained by X-ray analysis. Nature 181, 662–666 (1958). doi:10.1038/181662a0
  3. Perutz MF, et al. Structure of haemoglobin: a three-dimensional Fourier synthesis at 5.5 Å resolution, obtained by X-ray analysis. Nature 185, 416–422 (1960). doi:10.1038/185416a0
  4. Ramachandran GN, Ramakrishnan C, Sasisekharan V. Stereochemistry of polypeptide chain configurations. Journal of Molecular Biology 7, 95–99 (1963). doi:10.1016/S0022-2836(63)80023-6
  5. Anfinsen CB. Principles that govern the folding of protein chains. Science 181, 223–230 (1973). doi:10.1126/science.181.4096.223
  6. Kyte J, Doolittle RF. A simple method for displaying the hydropathic character of a protein. Journal of Molecular Biology 157, 105–132 (1982). doi:10.1016/0022-2836(82)90515-0
  7. Eisenberg D, Weiss RM, Terwilliger TC. The helical hydrophobic moment: a measure of the amphiphilicity of a helix. Nature 299, 371–374 (1982). doi:10.1038/299371a0
  8. Kabsch W, Sander C. Dictionary of protein secondary structure: pattern recognition of hydrogen-bonded and geometrical features. Biopolymers 22, 2577–2637 (1983). doi:10.1002/bip.360221211
  9. Vijay-Kumar S, Bugg CE, Cook WJ. Structure of ubiquitin refined at 1.8 Å resolution. Journal of Molecular Biology 194, 531–544 (1987). doi:10.1016/0022-2836(87)90679-6
  10. Phillips SEV. Structure and refinement of oxymyoglobin at 1.6 Å resolution. Journal of Molecular Biology 142, 531–554 (1980). doi:10.1016/0022-2836(80)90262-4
  11. Fermi G, Perutz MF, Shaanan B, Fourme R. The crystal structure of human deoxyhaemoglobin at 1.74 Å resolution. Journal of Molecular Biology 175, 159–174 (1984). doi:10.1016/0022-2836(84)90472-8
  12. Harrington DJ, Adachi K, Royer WE Jr. The high resolution crystal structure of deoxyhemoglobin S. Journal of Molecular Biology 272, 398–407 (1997). doi:10.1006/jmbi.1997.1253
  13. Eaton WA, Hofrichter J. Sickle cell hemoglobin polymerization. Advances in Protein Chemistry 40, 63–279 (1990). doi:10.1016/S0065-3233(08)60287-9
  14. Ingram VM. Gene mutations in human haemoglobin: the chemical difference between normal and sickle cell haemoglobin. Nature 180, 326–328 (1957). doi:10.1038/180326a0
  15. Zasloff M. Magainins, a class of antimicrobial peptides from Xenopus skin. PNAS 84, 5449–5453 (1987). doi:10.1073/pnas.84.15.5449
  16. Abramson J, et al. Structure and mechanism of the lactose permease of Escherichia coli. Science 301, 610–615 (2003). doi:10.1126/science.1088196
  17. Tien MZ, et al. Maximum allowed solvent accessibilities of residues in proteins. PLoS ONE 8, e80635 (2013). doi:10.1371/journal.pone.0080635
  18. Jumper J, et al. Highly accurate protein structure prediction with AlphaFold. Nature 596, 583–589 (2021). doi:10.1038/s41586-021-03819-2
  19. PDB-101 Molecule of the Month: Hemoglobin. An illustrated introduction from the RCSB Protein Data Bank. pdb101.rcsb.org

Finished the topic?

Pass the check and the exercises, or mark the topic complete yourself. Progress is saved in this browser.