# How to read a Ramachandran plot

> A Ramachandran plot shows the phi and psi backbone angles of every residue in a protein. Learn what the regions mean, what percentages a good structure has, and how to tell a model error from a strained residue.

A Ramachandran plot, also called a Ramachandran map or diagram, is a scatter plot of the two backbone angles of every residue in a protein structure: phi (φ) on the x-axis and psi (ψ) on the y-axis. Each point is one residue, and where it lands tells you what shape the backbone takes at that position. You can make one from any PDB or mmCIF file with the free [Ramachandran plot tool](/app/ramachandran-plot), which runs in the browser.

Reading the plot comes down to two questions. Where do the points cluster? In a folded protein most of them sit in two areas on the left half: a compact cluster in the lower left for right-handed helices and a broader one in the upper left for extended strands. Which points fall outside the shaded regions? A well-determined structure keeps about 98% of its residues in the favored region and has almost no outliers. Each outlier is either a mistake in the model or a residue held in an unusual shape for a reason, and you decide which by looking at the evidence behind that residue, not at the plot alone.

## What phi and psi angles are

A dihedral angle (also called a torsion angle) describes rotation about a bond. Take four atoms in a row; the dihedral is the angle between the plane of the first three and the plane of the last three. Along the protein backbone, each residue has three of them:

- φ (phi) is the rotation about the N to Cα bond, measured through the atoms C of the previous residue, N, Cα and C.
- ψ (psi) is the rotation about the Cα to C bond, measured through N, Cα, C and N of the next residue.
- ω (omega) is the rotation about the peptide bond itself.

The peptide bond has partial double-bond character, so ω stays close to 180° (trans) and occasionally 0° (cis). That makes the backbone a chain of flat peptide units hinged at each Cα, and φ and ψ are the two free hinges per residue. Both range from −180° to +180°, and the plot wraps around: the left edge continues on the right edge and the top on the bottom. Because φ needs the previous residue and ψ needs the next one, the first and last residue of each chain have no point on the plot.

## Why most of the plot is empty

In 1963 G. N. Ramachandran, C. Ramakrishnan and V. Sasisekharan treated backbone atoms as hard spheres and asked which φ and ψ combinations bring two atoms closer than their contact distance. Most combinations fail. At many angles the carbonyl oxygen of one peptide unit runs into the amide group of the next, or the Cβ atom of the side chain collides with backbone atoms. Only a few islands of the plot survive, and those islands match the helices and strands that crystallographers were starting to see in real proteins.

The modern plot is drawn from data instead of from a hard-sphere model. Lovell and colleagues plotted 81,234 well-ordered residues from 500 high-resolution structures and found sharp boundaries that the early theoretical calculations did not predict in detail. One example is a region just left of the α-helix that rates as favorable by energy yet rarely holds a residue. The steric argument explains why the plot has large empty areas. Real structures define where exactly the boundaries sit.

## The regions of a Ramachandran plot

Each populated region corresponds to a local backbone shape. Repeating the same φ and ψ over several residues in a row produces a regular secondary structure, so the regions are named after the structures they build.

  <caption><strong>Table 1. Main regions of the Ramachandran plot.</strong> Peak or representative angles from high-resolution structures; real residues scatter around these values. Sources: Hollingsworth and Karplus (2010), Adzhubei et al. (2013).</caption>
  <thead>
    <tr>
      <th scope="col">Region</th>
      <th scope="col">Typical φ, ψ</th>
      <th scope="col">Position on the plot</th>
      <th scope="col">What it builds</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Right-handed α-helix (αR)</td>
      <td>−63°, −43°</td>
      <td>Lower left</td>
      <td>α-helices; nearby 3₁₀ helices sit near −60°, −25°</td>
    </tr>
    <tr>
      <td>β-strand</td>
      <td>about −120°, +130°</td>
      <td>Upper left</td>
      <td>Strands of parallel and antiparallel β-sheets</td>
    </tr>
    <tr>
      <td>Polyproline II (PPII)</td>
      <td>about −65°, +145°</td>
      <td>Upper left, right of the β-strand peak</td>
      <td>Extended left-handed helices with three residues per turn, common in loops and unfolded segments</td>
    </tr>
    <tr>
      <td>Left-handed helix (αL)</td>
      <td>about +60°, +45°</td>
      <td>Upper right</td>
      <td>Single residues in turns, mostly glycine; mirror image of the αR region</td>
    </tr>
  </tbody>

About one third of residues in diverse proteins fall in the small αR region around −63°, −43°. The upper left quadrant is often labeled simply "β", but it holds two separate populations. The β-strand peak sits further left, and the polyproline II peak sits closer to φ = −65°. Hollingsworth and Karplus call grouping PPII with β-structure a historic mistake, because PPII residues are usually not in sheets and lack regular backbone hydrogen bonds. PPII does not need proline either; proline simply favors it, and the conformation is common in binding sites such as those recognized by SH3 domains.

The right half of the plot (positive φ) is sparsely populated for most amino acids, because a side chain clashes with the backbone there. A non-glycine residue with positive φ is the first thing to look at when you scan a plot for problems.

## Glycine, proline and the other special cases

Glycine has a hydrogen atom instead of a side chain, so it avoids the Cβ clashes that close off much of the plot. Its allowed area is large and roughly symmetric about the center, and glycines often sit at positive φ in turns. Proline is the opposite: its side chain loops back to bond with its own backbone nitrogen, which locks φ near −65° and leaves a narrow vertical strip. The residue before a proline (pre-proline) also has a restricted distribution because it bumps into the proline ring.

The current MolProbity reference data split residues into six classes: general, glycine, isoleucine and valine (whose branched Cβ narrows the plot), pre-proline, trans-proline and cis-proline. Each class has its own favored and allowed contours. Judging a glycine against the general-case contours flags residues that are fine, and judging a proline against the glycine contours hides real problems. Software that reports Ramachandran statistics, including the ProteinIQ tool, assigns each residue to its class first.

## Where favored, allowed and outlier contours come from

The contours you see on a modern plot are drawn around observed data. Lovell et al. built them from residues in high-resolution structures with low B-factors, smoothing each point by the local density of its neighbors. The favored contour encloses 98% of those reference residues, and the outer allowed contour in the general case leaves only 1 residue in 2,000 outside it.

MolProbity later rebuilt the distributions from the Top8000 dataset: 7,957 protein chains filtered at the 70% homology level, with residues excluded if any main-chain atom had a B-factor above 30, giving about a million quality-filtered residues. The favored and allowed cutoffs stayed the same. The worldwide Protein Data Bank uses these MolProbity Ramachandran criteria in its validation reports.

In the cctbx software that implements these criteria, each cutoff is stored as a density value on the reference distribution. The favored cutoff is the same for every class; the allowed cutoff is higher for the special classes than for the general case.

  <caption><strong>Table 2. Ramachandran classes and cutoffs.</strong> A residue is favored if the reference density at its φ, ψ is at or above the favored cutoff, allowed if it is between the two cutoffs, and an outlier below the allowed cutoff. Sources: Williams et al. (2018), cctbx ramalyze (2026).</caption>
  <thead>
    <tr>
      <th scope="col">Residue class</th>
      <th scope="col">Favored cutoff</th>
      <th scope="col">Allowed cutoff</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>General (all other residues)</td>
      <td>0.02</td>
      <td>0.0005</td>
    </tr>
    <tr>
      <td>Glycine</td>
      <td>0.02</td>
      <td>0.001</td>
    </tr>
    <tr>
      <td>Isoleucine and valine</td>
      <td>0.02</td>
      <td>0.001</td>
    </tr>
    <tr>
      <td>Pre-proline</td>
      <td>0.02</td>
      <td>0.001</td>
    </tr>
    <tr>
      <td>Trans-proline</td>
      <td>0.02</td>
      <td>0.001</td>
    </tr>
    <tr>
      <td>Cis-proline</td>
      <td>0.02</td>
      <td>0.002</td>
    </tr>
  </tbody>

The ProteinIQ [Ramachandran plot tool](/app/ramachandran-plot) classifies residues against these Top8000 distributions, read from the cctbx reference tables and sampled on a 2° grid. The contours drawn on the plot are traced from the same grid, so a point inside a drawn line gets the label that the line suggests. Because cctbx interpolates between grid points and the tool does not, a residue sitting right on a boundary can occasionally get a different label in the two programs. Prolines are assigned to the cis class when ω is between −90° and +90° and to the trans class otherwise.

## What a good Ramachandran plot looks like

The MolProbity authors give 98% favored and fewer than 0.2% outliers as absolute goals for a well-refined structure, and note that outliers become more common as resolution gets worse. A structure that meets both goals has backbone geometry that matches the best structures in the PDB. Falling slightly short of 98% favored is not a problem by itself; two of the well-determined crystal structures in the example below sit at about 97%. Much lower values, or outliers in the several percent, call for a closer look at the model.

Percentages behave badly in small proteins. A single outlier in a 74-residue protein is already 1.4%, so for small structures count the outliers and look at each one rather than comparing the percentage with a threshold.

## Worked example: four structures from the PDB

To show what these numbers look like in practice, we ran four PDB entries through the ProteinIQ tool: ubiquitin solved by X-ray crystallography at 1.8 Å, crambin at 0.48 Å, human manganese superoxide dismutase at 1.82 Å, and the DNA-binding domain of the bacterial protein H-NS solved by NMR.

  <caption><strong>Table 3. Ramachandran statistics for four PDB entries.</strong> Computed with the ProteinIQ Ramachandran plot tool on October 11, 2026 from the deposited coordinates (first model only); chain-terminal residues are not scored. Sources: RCSB PDB entries 1UBQ, 3NIR, 5VF9 and 1HNR (2026).</caption>
  <thead>
    <tr>
      <th scope="col">Entry</th>
      <th scope="col">Method</th>
      <th scope="col">Scored residues</th>
      <th scope="col">Favored</th>
      <th scope="col">Allowed</th>
      <th scope="col">Outliers</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>1UBQ ubiquitin</td>
      <td>X-ray, 1.8 Å</td>
      <td>74</td>
      <td>74 (100%)</td>
      <td>0</td>
      <td>0</td>
    </tr>
    <tr>
      <td>3NIR crambin</td>
      <td>X-ray, 0.48 Å</td>
      <td>44</td>
      <td>43 (97.7%)</td>
      <td>1 (2.3%)</td>
      <td>0</td>
    </tr>
    <tr>
      <td>5VF9 manganese superoxide dismutase</td>
      <td>X-ray, 1.82 Å</td>
      <td>394</td>
      <td>383 (97.2%)</td>
      <td>11 (2.8%)</td>
      <td>0</td>
    </tr>
    <tr>
      <td>1HNR H-NS DNA-binding domain</td>
      <td>Solution NMR</td>
      <td>45</td>
      <td>32 (71.1%)</td>
      <td>9 (20.0%)</td>
      <td>4 (8.9%)</td>
    </tr>
  </tbody>

The three crystal structures look the way the 98% guideline predicts. Even crambin at 0.48 Å, one of the highest-resolution protein structures in the PDB, has one residue (Tyr44) in the allowed region. A few allowed residues are normal and expected: the allowed region exists because real residues sit there. In 5VF9, ten of the eleven allowed residues are the same five residues in chains A and B (Gly102, Asn142, Tyr165, Lys170 and Val172), which points to a conformation both copies share rather than a fitting error in one of them.

1HNR is different. Only 71% of its residues are favored and four are outliers. The plot below shows its 33 general-class residues: most points sit inside the αR and β regions, a handful sit in the gray allowed area, and two red crosses sit in the empty right half.

![Ramachandran plot of the general residues in PDB entry 1HNR, with two outliers at positive phi](/images/guides/ramachandran-plot/1hnr-general-residues.webp '**Figure 1. General-class residues of 1HNR on the ProteinIQ Ramachandran plot.** Green areas are favored and gray areas allowed for the general class; black points are favored residues, olive points allowed residues, and red crosses outliers (Thr109 at φ +42°, ψ −149° and Lys135 at φ +64°, ψ −74°). Glycine, proline, pre-proline and isoleucine or valine residues are plotted against their own contours in the tool and are not shown here. Source: [RCSB PDB 1HNR (1995)](https://www.rcsb.org/structure/1HNR).')

The four outliers are Thr109 (φ +42°, ψ −149°), Pro115 (φ −65°, ψ −74°), Ile134 (φ −80°, ψ +49°) and Lys135 (φ +64°, ψ −74°). Thr109 and Lys135 are general-class residues at positive φ, the classic warning sign. All four glycines land in the allowed region rather than the favored one.

The file itself explains part of this. 1HNR is a single NMR conformer from 1995, refined with a molecular mechanics force field, and every value in its B-factor column is zero. There is no electron density to check a residue against. The same authors deposited a 16-model ensemble of the same domain as 1HNS. When we ran each of the 16 models through the tool, the favored percentage ranged from 51% to 73% and the outlier count from 0 to 8 per model. No residue was an outlier in more than 4 of the 16 models, and Thr109 was an outlier in only one. Outliers that move from residue to residue between models point to a backbone the data did not pin down well, not to a residue held in a strained shape for a functional reason.

## How to read an outlier

Most outliers in deposited structures are model errors, but not all of them. Lovell et al. showed that a region near φ +75°, ψ −60° (the γ-turn) occurs in well-ordered parts of good structures and is overrepresented near functional sites, where the strain is partly paid for by a hydrogen bond. To decide which kind of outlier you are looking at:

1. Check the residue class. A glycine at positive φ is ordinary, and a proline must be judged against the proline contours. The tool already does this, but exported angles plotted elsewhere may not.
2. Look at the experimental evidence. For a crystal or cryo-EM structure, open the map: a genuine strained residue sits in clear, well-defined density with low B-factors, while an error usually sits in weak density or has been forced into place.
3. Look at the neighbors. Outliers caused by misfitting tend to cluster with other problems such as clashes, poor rotamers and distorted bond angles. An isolated outlier in a well-ordered region with good contacts is more likely real. All-atom checks in [MolProbity](/app/molprobity) show those neighboring problems.
4. Look for a reason. Genuine outliers tend to sit at active sites, binding sites or tight turns, and are often conserved in related structures. If the same residue is an outlier in several independent structures of the protein, the conformation is probably real.
5. For NMR ensembles, compare models, as in the 1HNR example. A residue that is an outlier in every model is a stronger candidate for a real feature than one that is an outlier in one model out of sixteen.

## Ramachandran plots for predicted models

Predicted structures from AlphaFold, ESMFold and similar models can be checked the same way, but the plot answers a narrower question. It tells you whether the backbone geometry is physically reasonable, not [whether the fold is correct](/guides/structure-prediction-confidence). The more useful pattern is how the outliers line up with the model's own confidence score, [pLDDT](/guides/plddt).

We ran the AlphaFold Database model of human p53 (AF-P04637-F1, version 6) through the tool and split the scored residues by the pLDDT stored in the file. p53 combines a folded DNA-binding domain with long disordered regions, so it covers the whole range of confidence.

  <caption><strong>Table 4. Ramachandran statistics by pLDDT band in the AlphaFold model of p53.</strong> Computed with the ProteinIQ Ramachandran plot tool on October 11, 2026; 391 of 393 residues scored, banded by the per-residue pLDDT in the model file; each band includes its upper bound. Source: AlphaFold Protein Structure Database AF-P04637-F1 (2026).</caption>
  <thead>
    <tr>
      <th scope="col">pLDDT band</th>
      <th scope="col">Scored residues</th>
      <th scope="col">Favored</th>
      <th scope="col">Allowed</th>
      <th scope="col">Outliers</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Above 90</td>
      <td>206</td>
      <td>205 (99.5%)</td>
      <td>1 (0.5%)</td>
      <td>0</td>
    </tr>
    <tr>
      <td>70 to 90</td>
      <td>27</td>
      <td>24 (88.9%)</td>
      <td>3 (11.1%)</td>
      <td>0</td>
    </tr>
    <tr>
      <td>50 to 70</td>
      <td>43</td>
      <td>36 (83.7%)</td>
      <td>4 (9.3%)</td>
      <td>3 (7.0%)</td>
    </tr>
    <tr>
      <td>50 or below</td>
      <td>115</td>
      <td>66 (57.4%)</td>
      <td>22 (19.1%)</td>
      <td>27 (23.5%)</td>
    </tr>
    <tr>
      <td>All residues</td>
      <td>391</td>
      <td>331 (84.7%)</td>
      <td>30 (7.7%)</td>
      <td>30 (7.7%)</td>
    </tr>
  </tbody>

The whole-model numbers (84.7% favored, 30 outliers) would look poor for an experimental structure. Split by confidence, the picture changes. The 206 residues above pLDDT 90 are 99.5% favored with no outliers, as good as a high-resolution crystal structure. Every one of the 30 outliers has a pLDDT of 70 or below, and 27 of them are in the very low band, mostly in the disordered N-terminal and C-terminal regions. Those residues are not a structure at all, so their angles say nothing useful.

For a predicted model, read the plot for the confident regions only. Outliers in a high-pLDDT region are worth investigating. Outliers in a low-pLDDT region mostly restate what pLDDT already told you. And a clean plot is not evidence that a prediction is right: a model can have ideal φ and ψ angles everywhere and still place a loop or a domain in the wrong position.

## Limits of the Ramachandran plot

The plot checks only the backbone φ and ψ of each residue. It says nothing about side-chain rotamers, atomic clashes, bond lengths or how well the model fits the experimental data. For a full check of an experimental model, combine it with the clash, rotamer and Cβ deviation checks in [MolProbity](/app/molprobity).

It also stops being an independent check if it was used during refinement. Many refinement programs can restrain φ and ψ toward the favored regions, which helps at low resolution but means a perfect-looking plot partly reflects the restraints rather than the data. Sobolev et al. argue that "zero unexplained outliers" can be misleading on its own and recommend the Rama-Z score, which asks whether the overall distribution of points looks like that of real high-quality structures. They suggest a closer look when the absolute Rama-Z value is between 2 and 3, and note that values beyond 3 are very rare among high-resolution structures.

At low resolution, roughly 2.5 to 4 Å, compound errors can mislead Ramachandran analysis. MolProbity's CaBLAM, which works from the Cα trace and carbonyl orientations, is more reliable in that range. Finally, the favored and allowed labels depend on the reference data and the software, so a residue near a contour edge can be labeled differently by different programs.

## Making a Ramachandran plot on ProteinIQ

The [Ramachandran plot tool](/app/ramachandran-plot) accepts a PDB or mmCIF file, or fetches a structure by its PDB ID. It analyzes the first model of multi-model files and lists any residues it could not score, such as chain ends and residues with missing backbone atoms. The plot opens on the general residue class; switch to glycine, proline, pre-proline or isoleucine and valine to see each class against its own contours. Outliers appear as red crosses and can be listed and inspected one by one, and the per-residue angles and labels can be exported as CSV. The analysis is free and runs in your browser.

To go further, run [MolProbity](/app/molprobity) for clashes and rotamers, [DSSP](/app/dssp) to assign secondary structure from the same coordinates, or download structures with [PDB download](/app/pdb-download) and [AlphaFold Database download](/app/alphafold-database-download).

## Frequently asked questions

### What is a Ramachandran plot used for?

It is used to check whether the backbone of a protein model has physically reasonable geometry, usually as part of validating an X-ray, cryo-EM or NMR structure or a predicted model. It is also a common teaching tool because it links two angles per residue to secondary structure.

### Is a Ramachandran map the same as a Ramachandran plot?

Yes. Ramachandran map, Ramachandran diagram and φ/ψ plot all refer to the same plot of backbone dihedral angles.

### What percentage of residues should be in the favored region?

About 98% for a well-refined structure, with fewer than 0.2% outliers. Slightly lower values are not a problem by themselves. For small proteins, count and inspect individual outliers instead of comparing percentages.

### Why do glycine residues appear on the right side of the plot?

Glycine has no side chain, so it avoids the clashes that keep other residues out of the positive φ half. Glycine is therefore judged against its own, much larger allowed region.

### Are Ramachandran outliers always errors?

No. Most are, but some residues are held in strained conformations by their surroundings, often at functional sites. A genuine outlier has clear experimental support, such as well-defined density, and usually recurs in other structures of the same protein.
