The **align** command performs least-squares fitting of
the *matchatoms*
onto the *refatoms*.
It can also report least-squares-fit root-mean-square deviations (RMSDs)
as if the atoms had been moved, but without actually moving the atoms.
The number of atom pairs used and the RMSD are reported in the
**Log**.

To calculate RMSDs using the current atomic positions without any fitting,
see the **rmsd** command.
See also:
**matchmaker**,
**fitmap**,
**view**,
**measure rotation**,
**save** PDB

Only equal numbers of *matchatoms* and *refatoms* can be used
in the calculation, but the pairing options
may help to restrict broader specifications to only the relevant pairs.

If a **cutoffDistance** *d* is supplied, the fit will be iterated.
In each cycle of iteration, atom pairs are removed from the match list
and the remaining pairs are fitted, until no matched pair is more than
*d* Å apart.
The atom pairs removed are either the 10% farthest apart of all pairs
or the 50% farthest apart of all pairs exceeding the cutoff, whichever
is the lesser number of pairs.
This excludes conformationally dissimilar regions from the final fit
and allows the best-matching regions to be well superimposed.

The **move** option indicates *what* to move,
which can be:

**atoms**– move the specified atoms (*matchatoms*)**residues**– move the residues containing the specified atoms**chains**– move the chains containing the specified atoms**structures**(default unless**each**is used) – move the models containing the specified atoms by overall rotation/translation (transform the models)**structure atoms**– move all atoms in the models by changing their coordinates instead of transforming the overall models**nothing**– do not move anything, but report the RMSD as if the atoms had been fitted

The **each** option indicates dividing
*matchatoms* into subsets for matching independently
rather than collectively, where the *level* can be:

**chain**– match each chain separately (implies**move chains**)**structure**– match each atomic model separately**coordset**– match each coordinate set in*matchatoms*(which must specify a trajectory model) separately

The **reportMatrix** option (default **false**)
indicates whether to show the transformation matrix (or matrices)
in the **Log**.

The options below restrict how *matchatoms* are paired with
*refatoms*.
Unpaired atoms are ignored, so these options may help to limit broader
specifications to the equal numbers of atoms required for the calculation.

matchAtomNamestrue |false

Only pair atoms with the same atom names, regardless of their order. UsingmatchAtomNames trueis not recommended for matching atoms from multiple residues per model unlessmatchNumbering truecan also be used.

matchNumberingtrue |false

Only pair atoms with the same residue numbers. Atoms are assumed to be in residue-number order. UsingmatchNumbering trueis not recommended when matching atoms from multiple chains per model unlessmatchChainIds truecan also be used.

matchChainIdstrue |false

Only pair atoms with the same chain identifiers.

UCSF Resource for Biocomputing, Visualization, and Informatics / May 2024