Find the Backbone Groups That Need Attention

A molecular model can contain many structural groups, and scanning them one by one is a slow way to answer simple questions: Which groups are unusually large? Which carry a particular formal charge? Where are the carbon-rich or oxygen-rich regions? In SAMSON, Node Specification Language (NSL) lets you express these checks as attribute queries, so you can focus on the backbone groups that match a criterion.

This is especially useful when you are inspecting a model and need to narrow down candidates before deciding what to examine next. The backbone attribute space provides filters for atom counts, elemental composition, and charge, alongside inherited node attributes such as visibility and selection state.

Start with the backbone prefix

The documentation describes the backbone attribute space as matching backbone nodes. Its examples use the prefix bb, so the queries below follow that notation. For instance, bb.nat < 1000 selects backbone groups with fewer than 1,000 atoms. The attribute nat is the short name for numberOfAtoms.

Short names make repeated queries more compact, but the full attribute names help make a query easier to read. The reference lists both forms, so you can use whichever is clearer while building or reviewing an expression.

Use counts to spot groups worth inspecting

Atom-count filters can help you find groups outside the size range you expect. The documented examples include bb.nat < 1000 and bb.nat 100:200. The first is a threshold query; the second specifies a range. Similar attributes let you check particular elements: bb.nC < 10 filters by carbon count, while bb.nO 10:20 uses an oxygen-count range. The corresponding short names are nC and nO.

You can apply the same pattern to hydrogen, nitrogen, sulfur, and coarse-grained atom counts:

  • bb.nH < 10 — fewer than 10 hydrogens
  • bb.nN 10:20 — a nitrogen-count range
  • bb.nS 10:20 — a sulfur-count range
  • bb.ncga < 1000 — fewer than 1,000 coarse-grained atoms

These examples are useful starting points when a model contains groups with very different sizes or compositions. Adjust the threshold or range to suit the question you are investigating.

Check charge without inspecting every group

For formal charge, use fc. The documented examples are bb.fc > 1 and bb.fc 6:8. For partial charge, use pc; for example, bb.pc > 1.5 or bb.pc 1.5:2.0. Formal charge takes integer values, while partial charge takes floating-point values. Keeping that distinction in mind helps you choose a suitable query and interpret the values you are filtering on.

Don’t overlook visibility and selection

Backbone nodes also inherit common node attributes. The examples include bb.v and not bb.v for visible and not-visible nodes, and bb.selected and not bb.selected for selection state. You can also inspect flags such as bb.vf false for the visibility flag and bb.sf false for the selection flag.

One small naming detail is worth remembering: although the backbone attribute space has a short name, the reference notes that selected has no short name in this context. The examples therefore use bb.selected, rather than relying on a shortened form. Using the documented expression avoids ambiguity when writing or sharing a query.

A practical workflow is to begin with one clear criterion—such as atom count or charge—then review the matching groups and refine the threshold if needed. These attributes do not replace scientific judgment; they help make the initial search more systematic and repeatable.

For the complete attribute list and additional details, see the SAMSON backbone attributes reference.

Note: SAMSON and all SAMSON Extensions are free for non-commercial use. Get SAMSON.

Comments are closed.