A protein structure can look tidy in the viewer while still containing atoms that merit closer inspection. Low occupancy or a high temperature factor may help you find candidates, but locating them by eye—especially in a large structure—is slow and easy to repeat inconsistently.
SAMSON’s Node Specification Language (NSL) lets you describe a set of atoms by combining attributes. For a first pass, you can search for heavy atoms in a particular chain whose occupancy is below a chosen threshold:
a.c A and a.heavy and a.oc < 0.5
This expression narrows the search to chain A, excludes hydrogens, and finds atoms with occupancy below 0.5. The threshold is a choice for your workflow, not a universal definition of an unreliable atom. Try a different value when appropriate for the structure and the question you are investigating.
Use a second pass for temperature factors
Occupancy is only one clue. You can run a separate query for heavy atoms with higher temperature factors:
a.c A and a.heavy and a.tf > 75
Keeping these as separate searches can be useful: it makes clear which criterion matched each atom, rather than hiding two different signals inside one selection. A high temperature factor or low occupancy is a reason to inspect the coordinates and their context—not, by itself, proof that an atom is wrong.
Make the search smaller before interpreting it
When you already know where to look, add a residue range. For example, this finds heavy atoms with low occupancy in residues 40 through 60 of chain A:
a.c A and a.resi 40:60 and a.heavy and a.oc < 0.5
This is a practical pattern for checking a binding-site neighborhood or a segment you are comparing across models. The same idea works with other filters: use a.s O to focus on oxygen atoms, or a.alt B to inspect atoms assigned alternate location B. Add filters only when they answer a specific question; overly narrow queries can hide relevant atoms.
Read the selector as a checklist
a.c Arestricts the selection to chain A.a.heavyexcludes hydrogen atoms.a.oc < 0.5applies an occupancy threshold.a.tf > 75applies a temperature-factor threshold.a.resi 40:60limits the search to a residue-number range.
Reading a query piece by piece helps catch common mistakes. For example, chain labels and chain IDs are different attributes: use a.c for a chain character such as A, and a.ci for an integer chain ID. Also remember that atom attributes match atom nodes, so these expressions are designed to find atoms rather than whole residues or chains.
A useful routine is to begin with a broad search, inspect the returned atoms in their structural context, and then narrow the query by chain, residue range, element, or alternate location. Record the thresholds you used if you need to repeat the check or compare structures. This turns a vague visual scan into a selection you can review and refine.
For the full list of atom attributes and syntax examples, see the SAMSON atom attributes reference.
Note: SAMSON and all SAMSON Extensions are free for non-commercial use. Get SAMSON.
