Skip to content

Barnase and barstar

On hold

Protein–protein complexes are on hold as of 2026-10-13 and are not part of the current release. This page was last run against 0.6.1. See On hold.

Tested against md-tools 0.6.1. Every command and every number on this page comes from a run executed as written, at that version.

A protein–protein complex: barnase (an RNase) bound to its inhibitor barstar, from PDB 1BRS — one of the best-characterised protein–protein interfaces there is.

Barnase and barstar

1BRS chains A (barnase, salmon) and D (barstar, blue). Sidechains within 4.5 Å across the interface are drawn as sticks; the interface is mostly charged and tightly packed.

Why this system

It is the protein–protein case: two folded chains whose ASSOCIATION is the quantity of interest. That makes it the system where the useful coordinate is a distance between two molecules rather than a torsion inside one, and where imaging the trajectory correctly matters before anything is measured.

1. The structure, and the choices it needs

mkdir -p 1BRS/build
cd 1BRS/build
curl -O https://files.rcsb.org/download/1BRS.cif      # sha256 1c98dcc3...5704f153

The asymmetric unit holds three barnase–barstar complexes, and the entry defines each as a biological assembly: 1 is chains A + D, 2 is B + E, 3 is C + F. They are not interchangeable:

assembly barnase barstar as deposited
1 A D barstar residues 64–65 missing inside the chain
2 B E barstar residues 64–65 missing inside the chain
3 C F no gap; 44 side-chain atoms missing over 15 residues

md-tools refuses a gap inside a chain -- building one is loop modelling, which it does not invent -- so this tutorial builds assembly 3. Its missing side-chain atoms are built with PDBFixer and every one of them is recorded; they carry no crystallographic evidence.

The barstar in 1BRS is an engineered double mutant, C40A/C82A (SEQADV records), so it has no cysteine. Barnase residues 1–2 and the C-terminal residues missing from the deposit are not built: each chain starts and ends at its first and last observed residue.

2. The build configuration

build-top.config:

# 1BRS barnase-barstar: biological assembly 3 (author chains C = barnase, F = barstar), the only
# pair without a chain break; its 44 missing side-chain atoms are built and recorded.
solute:
  kind: peptide
input:
  assembly: "3"
  missing_atoms: add
protonation:
  method: propka
  ph: 7.0
forcefield:
  protein: ff14SB
solvent:
  model: TIP3P
  padding_nm: 1.5
  ionic_strength_molar: 0.15
  • input.assembly: "3" expands that biological assembly from the mmCIF before anything else reads it. Each copy of a chain gets its own chain id -- here A is barnase (author chain C) and B is barstar (author chain F) -- and build/assembly.json maps each back to its author chain, label_asym ids and symmetry operator.
  • input.missing_atoms: add builds the missing heavy atoms. The default, refuse, stops the build and lists them.
  • protonation.method: propka predicts pKa values with PROPKA 3.5.1 on the prepared structure and assigns residue variants by one stated rule (see Building a system). The default, openmm, is what earlier releases did.
  • The 90 crystal waters of assembly 3 are kept, and placed after the protein in the topology.

3. Build

md-openmm build-top -i 1BRS.cif \
    -os built.xml -op built.pdb -log built.log --config build-top.config

What the log reports:

Command
  input                       1BRS.cif
  assembly                    3: 2 chain(s), 0 on-axis copy(ies) dropped
  missing atoms               44 atom(s) added to 15 residue(s) (input.missing_atoms: add)
Preparation
  protonation  : pH 7.0, 0 -> 1730 hydrogens
  protonation  : method propka, PROPKA 3.5.1
    A:18 HIS pKa 6.08 -> HID (propka (neutral) + openmm hydrogen-bond heuristic for HID/HIE) [near_ph]
    A:73 GLU pKa 6.69 -> GLU (propka) [near_ph]
  solvation    : 8823 waters, ions {'NA': 28, 'CL': 24}, box dodecahedron (317.9 nm^3)
Counts
  atoms                       29923
  solute atoms                3132
  waters                      8913
  ions                        {'NA': 28, 'CL': 24}

This build does not repeat exactly, and that is missing_atoms: add doing its job

Run the command above three times and you get three different boxes. Measured, at one version, from the same 1BRS.cif and the same configuration:

build box added waters atoms His18 pKa
1 315.5 nm³ 8755 29719 6.08
2 317.9 nm³ 8823 29923 6.08
3 318.1 nm³ 8833 29953 6.09

The cause is the 44 side-chain atoms this page asks PDBFixer to build. It does not place them identically every time, so the solute's extent changes a little, the 1.5 nm padding wraps a slightly different dodecahedron, and the water count follows. PROPKA then reads those same side chains, which is why a pKa moves in the last digit too. None of it changes an assignment.

What is reproducible is the solute: 3132 atoms, the same 44 atoms added to the same 15 residues, the same 28 Na⁺ and 24 Cl⁻, the same 90 crystal waters kept, the same protonation and the same net charge. Those are the numbers to check a build against. A box volume or a water count on this page is a record of one build, and matching it to the digit is neither expected nor meaningful — a spread of about 0.8 % is ordinary here. If you need byte-identical boxes, build once and reuse built.xml, which is what every run on this system does.

Reading the protonation. PROPKA predicts every titratable group; md-tools prints the ones worth a second look. Barnase His18 (pKa 6.08) and Glu73 (6.69) are within one pH unit of 7, so their assigned states -- neutral His, deprotonated Glu -- should be read as uncertain. The other two histidines, barnase His102 (4.83) and barstar His17 (4.24), are predicted neutral too. PROPKA does not decide between the neutral tautomers HID and HIE; OpenMM's hydrogen-bond heuristic chose HID for all three. If a tautomer matters to your question, set it explicitly:

protonation:
  method: propka
  overrides:
    - select: {chain: A, resid: "102"}
      variant: HIE

Every prediction, assignment, override and warning is in the machine record at the end of built.log under protonation, and PROPKA's own report is kept.

The added side-chain atoms are listed under structure_completion: barnase Lys19, Asp22, Glu29, Gln31, Lys39, Val45, Lys49, Ser67 and Arg110, and barstar Lys22, Glu28, Glu46, Glu64, Asn65 and Ser89 -- surface residues whose side chains were disordered in the crystal.

Where to go next

method what it is for
cMD the complex simulated unbiased, 10 ns published
Selective REST2 heating the interface sidechains not written for this system
AIS annealing a weakened interface back to full strength not written for this system
Umbrella sampling a potential of mean force along the chain–chain centre-of-mass distance page planned, 0.6.5
Alchemical — ligand to ligand free energies by transformation planned, 0.6.5

Umbrella sampling arrives in 0.6.3 and the alchemical pages in 0.7.0. They are listed here so the shape of the set is visible; neither is written yet, and neither is linked to a page that does not exist.