How to Read Resolution, R-free and B-factors in a PDB Structure

By Dr. Zubair Khalid, DVM, MS, PhD ·

How to Read Resolution, R-free and B-factors in a PDB Structure

Every structure you download from the Protein Data Bank comes with a header full of numbers: a resolution, one or two R-values, and a B-factor column attached to every atom. Those numbers are not decoration. They tell you how much the experimental data actually constrains the model, how well the model agrees with that data, and which parts of the chain you should trust.

You will meet these metrics constantly. When you pick a template for homology modeling, when you judge whether a ligand pose is believable, when you compare two structures of the same protein, or when you read a validation report before submitting a manuscript, the same three quantities come up. This guide explains what each one measures, how to compute the ones you can compute, and where the common misreadings happen.

Quick Answer

  • Resolution measures the quality of the diffraction data, not the model. Smaller is better: about 1 Angstrom means individual atoms are visible in the electron density, while 3 Angstrom or worse shows only the basic contours of the chain and the atomic structure must be inferred [1].
  • R-work measures how well the atomic model reproduces the experimental diffraction data used during refinement. A random set of atoms gives about 0.63, a perfect fit gives 0, and typical values sit near 0.20 [1].
  • R-free is the same calculation on roughly 10% of reflections set aside and never used in refinement. For a model that is not over-interpreting the data it is similar to R-work and typically a little higher, about 0.26 [1]. A large gap between the two suggests overfitting [1][4].
  • B-factors (temperature factors) model how much electron density is smeared out by atomic vibration and by differences among the many molecules in the crystal. They are a per-atom measure of confidence in position [2]. Values under 10 mean a very sharp, well-ordered atom; values above about 50 mean an atom moving so much it can barely be seen [2].
  • The conversion between a B-factor and motion is $B = 8\pi^2 \langle u^2 \rangle$ where $B$ is in Angstrom$^2$ and $\langle u^2 \rangle$ is the mean-square displacement along one direction [5].
  • Occupancy is the fraction of molecules in the crystal that have an atom at that position. It is 1.0 for most atoms, and fractional values appear when a side chain or ligand adopts multiple conformations [2][5].

What Resolution Actually Measures

Resolution is a property of the data, not of the model built from it. It describes the finest detail present in the diffraction pattern, and therefore the finest detail you can legitimately claim to see in the electron density map [1]. A 1.8 Angstrom structure and a 3.5 Angstrom structure of the same protein can be refined to similar R-values, but they do not support the same claims. At high resolution, around 1 Angstrom, the map is ordered enough that every atom is easy to place. At 3 Angstrom or worse, you see the basic contours of the chain and must infer the atomic structure from prior knowledge of geometry [1].

This is why "what is a good resolution protein structure" has no single answer. It depends on the question. The closer your question gets to individual atoms (alternate side-chain conformations, bound waters, hydrogens), the closer to 1 Angstrom the data need to be, because at 3 Angstrom or worse the atomic structure must be inferred [1].

Resolution also sets the scale for how much you should trust individual coordinates. A 3 Angstrom structure is not wrong, it is simply less constrained. The model still has bond lengths and angles restrained to ideal values, so the backbone trace is usually correct even when side-chain details are not.

R-work and R-free: Two Numbers That Must Be Read Together

The R-value measures how well the atomic model, used to simulate a diffraction pattern, agrees with the experimental diffraction data [1]. Formally, it compares observed structure factor amplitudes with those calculated from the model. A random set of atoms gives about 0.63, a perfect fit gives 0, and typical values are about 0.20 [1].

The problem with a single R-value is that refinement can drive it down even for an incorrect model. Brunger introduced R-free in 1992 by analogy with statistical cross-validation, precisely because an incorrect model can be refined to fairly good conventional R values [4]. The fix is simple: set aside about 10% of the experimental observations and never use them during refinement. R-free measures agreement on that test set [4].

R-work is the R-value calculated on the reflections used in refinement. The relationship between the two is the diagnostic:

MetricWhat it measuresTypical valueWhat a bad value looks like
R-workFit to reflections used in refinement~0.20 [1]Very low values with a large R-free gap
R-freeFit to reflections never used in refinement~0.26 [1]Much higher than R-work
R-free minus R-workOverfitting gapSmall, a few hundredthsLarge gap means the model is fitting noise

A large gap between R-free and R-work suggests overfitting: the model has been tuned to the working set in ways that do not generalize. A small gap, even if both numbers are somewhat high, is usually a healthier sign than a very low R-work paired with a much higher R-free.

One practical wrinkle: the R-free value shown in wwPDB validation reports is recalculated by the DCC program from the deposited data, so it can differ slightly from the author-reported value [6]. When you compare structures, compare like with like.

B-factors: What They Mean and How to Convert Them

The B-value, or temperature factor, models the smearing of electron density from two sources: atomic vibration and differences among the many molecules packed in the crystal lattice [2]. It is a per-atom measure of confidence in that atom's location.

The PDBx/mmCIF dictionary defines B in terms of the atomic displacement parameter $U$:

$$B = 8\pi^2 U$$

where $B$ is in Angstrom$^2$ and $U$ is the mean-square displacement [5]. For an isotropic atom, $B = 8\pi^2 \langle u^2 \rangle$, so the root-mean-square displacement along one direction is

$$\text{RMS}_{1D} = \sqrt{\frac{B}{8\pi^2}}$$

and the three-dimensional RMS displacement is

$$\text{RMS}_{3D} = \sqrt{\frac{3B}{8\pi^2}}$$

The convention here matters. $U$ is a mean-square displacement along a direction, so the one-dimensional formula gives the RMS along a single axis and the 3D formula gives the total displacement. Some texts quote $\sqrt{B/8\pi^2}$ as "the" RMS displacement without specifying the direction. This article uses the one-dimensional form for $\text{RMS}_{1D}$ and states the 3D value separately.

The intuition is straightforward. A B-factor of 20 Angstrom$^2$ corresponds to $\langle u^2 \rangle = 0.253$ Angstrom$^2$, an RMS displacement of 0.50 Angstrom along one direction and 0.87 Angstrom in 3D. B-factors above about 50 Angstrom$^2$ mean the atom can barely be seen [2]. Surface side chains free to move in water commonly sit in that range.

B-factors are not pure thermal motion. They absorb static disorder, lattice defects and model errors as well. Treat them as a combined uncertainty estimate, not a temperature reading.

Occupancy: The Other Column You Should Check

Occupancy estimates the fraction of molecules in the crystal that have an atom at a given position [2]. It is 1.0 for most atoms. When a side chain or ligand adopts two or more conformations, each is listed with a fractional occupancy and the occupancies sum to 1.0, for example 0.57 and 0.43. A metal bound to only half the molecules can be given occupancy 0.5 [2].

The PDBx/mmCIF dictionary defines occupancy as the fraction of the atom type present at a site, with a default value of 1.0 [5]. Low occupancy and high B-factor often travel together, because both reflect a position that is not consistently occupied across the crystal. When you see a side chain with occupancy 0.5 and a B-factor of 40, the honest reading is that this atom is present in half the molecules and poorly localized even there.

Worked Example

Downloading 1UBQ, the classic ubiquitin crystal structure, and parsing it with Biopython 1.88 gives a concrete picture. The header reports X-ray diffraction with REMARK 2 RESOLUTION 1.80 ANGSTROMS. The refinement section lists R VALUE (WORKING + TEST SET) 0.176, with R VALUE (WORKING SET) and FREE R VALUE both NULL. The entry was deposited on 02-JAN-1987, five years before R-free was introduced [4], so the absence of an R-free is expected, not a quality flag.

The RCSB Data API confirms resolution 1.8 Angstrom and refine.ls_R_factor_obs 0.176, with no R-free field. The space group is P 21 21 21, the cell is 50.84 x 42.77 x 28.95 Angstrom, and the file contains 660 deposited atoms across 76 residues.

The 76 C-alpha atoms of chain A have a mean B of 10.58 Angstrom$^2$, median 9.02, SD 6.96, with a range from 3.51 at Leu43 to 36.19 at Gly76. Residues 1 through 72 average 9.25 Angstrom$^2$. The C-terminal tail tells a clear story:

ResidueC-alpha B (Angstrom$^2$)Occupancy
Leu7116.061.0
Arg7225.831.0
Leu7330.760.45
Arg7435.330.45
Gly7536.070.25
Gly7636.190.25

This matches the original paper's note that the last four residues appear to have partial occupancy or large thermal motion [10]. All protein atoms average 13.41 Angstrom$^2$, and the 58 modeled waters average 23.69 Angstrom$^2$.

Converting with $B = 8\pi^2 \langle u^2 \rangle$: the mean C-alpha B of 10.58 gives $\langle u^2 \rangle = 0.134$ Angstrom$^2$, an RMS of 0.366 Angstrom along one direction and 0.634 Angstrom in 3D. The tightest atom, Leu43 at 3.51, gives 0.211 and 0.365 Angstrom. Gly76 at 36.19 gives 0.677 and 1.173 Angstrom. A B of 20 gives 0.253 Angstrom$^2$, 0.503 and 0.872 Angstrom.

Now compare with 3ONS, a later ubiquitin structure at the same 1.8 Angstrom resolution. Its R-work is 0.183, R-free 0.211 (a gap of 0.028), and mean B is 25.1 Angstrom$^2$. Its 72 C-alpha atoms average 19.93 Angstrom$^2$, ranging from 12.43 to 39.47. Same protein, same resolution, noticeably higher B-factors. This is the practical lesson: B-factors depend on resolution, refinement protocol and crystal packing, so compare B-factors within one structure, not between structures.

For an AlphaFold check, the model AF-P00698-F1 (hen lysozyme) has a B-factor column that is constant within each residue and identical to the per-residue confidence file, with a maximum difference of 0.0. The mean pLDDT is 93.89 (the API reports 93.88). The signal peptide, residues 1 through 18, averages 62.86, while the mature chain, residues 19 through 147, averages 98.22. High numbers here mean high confidence, the opposite direction from a crystallographic B-factor [9].

How to Judge an Entry in Practice

Work through the metrics in order. Check the method and resolution first, since a 3.5 Angstrom structure and a 1.2 Angstrom structure support different claims [1]. Then look at R-work and R-free, or the FSC resolution for cryo-EM. Then open the wwPDB validation report and read the percentile sliders, which compare the entry with all X-ray entries and with entries of comparable resolution. The percentile is the percentage of entries equal to or poorer than the structure for that indicator [6]. Finally, zoom into the region you care about and check local B-factors, occupancies and density fit. The wwPDB reports flag residues with a real-space R Z-score (RSRZ) greater than 2 as poor fits to the electron density [6].

If you want to inspect these values interactively, you can load an entry in the Protein Structure Viewer on this site.

For cryo-EM entries, resolution comes from Fourier shell correlation instead of diffraction. FSC is the most commonly used method for single-particle cryo-EM and subtomogram averaging maps, and wwPDB map validation reports draw the 0.143 gold-standard cut-off, a 0.5 cut-off and the 1/2-bit criterion on the FSC curve [7]. Rosenthal and Henderson proposed a new objective criterion for resolution assessment in single-particle electron cryomicroscopy in 2003 [8]. Single-particle cryo-EM and electron diffraction now reach resolution limits comparable to macromolecular crystallography, enough to see side chains, surface waters and bound ligands [3].

Common Mistakes

  • Assuming a missing R-free means a bad structure. Entries refined before 1992 often lack it because the metric did not exist yet. 1UBQ is a well-refined 1.8 Angstrom structure with no R-free in its header [4][10].
  • Reading AlphaFold B-factor columns as flexibility. In AlphaFold files, the B-factor field stores pLDDT, a confidence score from 0 to 100 [9]. High values mean high confidence, the opposite of a crystallographic B-factor where high values mean less certain positions. Coloring an AlphaFold model by "B-factor" and calling the high-value regions flexible inverts the meaning.
  • Comparing B-factors across structures. B-factors depend on resolution, refinement protocol and crystal packing. 1UBQ and 3ONS are both 1.8 Angstrom ubiquitin structures, yet their mean C-alpha B-factors differ by roughly a factor of two. Compare within one structure.
  • Treating resolution as a model quality score. Resolution describes the data, not how well the model was built. A 2 Angstrom dataset refined carelessly can produce a worse model than a 2.5 Angstrom dataset refined well. Read resolution alongside R-free and the validation report.
  • Ignoring occupancy when reading B-factors. A side chain with occupancy 0.45 and B of 30 is not simply a mobile atom. It is present in fewer than half the molecules and poorly localized even there. The two columns describe different aspects of the same uncertainty.
  • Assuming a low R-work alone means a good model. An incorrect model can be refined to a fairly good conventional R-value, which is exactly why R-free exists [4]. Always read the pair.

Limitations

The "typical" R-value of 0.20 and R-free of 0.26 are rough guides from PDB-101 [1]. Acceptable values depend on resolution, and a 3.5 Angstrom structure will not reach the same numbers as a 1.0 Angstrom structure. Do not apply a single threshold across resolutions.

The conversion $B = 8\pi^2 \langle u^2 \rangle$ assumes isotropic motion and treats B as a pure displacement parameter. In reality, B-factors also absorb static disorder, lattice defects and model errors, so they overestimate true thermal motion. The convention for $u$ also varies between texts: some quote $\sqrt{B/8\pi^2}$ as "the" RMS displacement without specifying that it is the one-dimensional component. This article uses the one-dimensional form and reports the 3D value separately.

The 0.143 FSC threshold comes from the wwPDB EM validation guide [7]. The Rosenthal and Henderson abstract does not state the number explicitly, only that a new objective criterion was proposed [8]. If you are working with cryo-EM, check the current wwPDB documentation for the thresholds in force.

pLDDT bands other than the greater-than-90 high-accuracy band are not covered here. The AlphaFold documentation and the current literature should be consulted for the full band definitions [9].

Frequently Asked Questions

What is a good resolution protein structure?

It depends on the question you are asking. Around 1 Angstrom, every atom is easy to see in the electron density map. At 3 Angstrom or worse, only the basic contours of the chain are visible and the atomic structure must be inferred [1].

What is the difference between R-free and R-work?

R-work is calculated on the reflections used during refinement. R-free is calculated on about 10% of observations set aside and never used in refinement [1][4]. For a model that is not over-interpreting the data, R-free is similar to R-work and typically a little higher, about 0.26 [1]. A large gap between them suggests overfitting.

What does a B-factor of 50 mean?

A B-factor above about 50 Angstrom$^2$ indicates an atom moving so much it can barely be seen in the electron density, which is common for surface side chains free to move in water [2]. Converting with $B = 8\pi^2 \langle u^2 \rangle$, a B of 50 corresponds to an RMS displacement of roughly 0.80 Angstrom along one direction. Treat such atoms as poorly localized.

What is occupancy in a PDB file?

Occupancy estimates the fraction of molecules in the crystal that have an atom at a given position [2]. It is 1.0 for most atoms. When a side chain or ligand adopts multiple conformations, each is listed with a fractional occupancy and the occupancies sum to 1.0, for example 0.57 and 0.43 [2]. The PDBx/mmCIF dictionary defines it as the fraction of the atom type present at a site, with a default of 1.0 [5].

How is pLDDT different from a B-factor?

pLDDT is a per-residue confidence score from 0 to 100 reported by AlphaFold, stored in the B-factor field of PDB-format files and in the _ma_qa_metric_local category of mmCIF files [9]. Regions with pLDDT greater than 90 are generally modeled with high accuracy [9]. The direction is inverted relative to a crystallographic B-factor: high pLDDT means high confidence, while a high B-factor means less certain position.

References

  1. PDB-101 Guide to Understanding PDB Data: Crystallographic data (resolution, R-value, R-free)
  2. PDB-101 Guide to Understanding PDB Data: Dealing with coordinates (occupancy, B-value)
  3. PDB-101: Methods for determining structure
  4. Brunger 1992, Free R value, Nature
  5. PDBx/mmCIF dictionary: _atom_site.B_iso_or_equiv
  6. wwPDB X-ray validation report user guide
  7. wwPDB EM map validation report user guide (FSC)
  8. Rosenthal and Henderson 2003, Optimal determination of particle orientation, J Mol Biol
  9. Varadi et al. 2024, AlphaFold Protein Structure Database in 2024, Nucleic Acids Res
  10. Vijay-Kumar, Bugg and Cook 1987, Structure of ubiquitin refined at 1.8 A resolution, J Mol Biol90679-6)

Related Articles