When inspecting a molecular model, it is easy to end up selecting side chains one by one: check their size, look for particular elements, then reconsider the set when charge becomes relevant. That approach is slow, and it can be hard to remember exactly why each candidate was included. SAMSON’s Node Specification Language (NSL) offers a more repeatable alternative: describe side chains using attributes such as atom counts, charge, name, or visibility.
Side-chain attributes belong to the sideChain attribute space, abbreviated sc. That prefix matters: it makes the query apply specifically to side-chain nodes. The attributes include fields inherited from the general node and structural-group attribute spaces, so you can examine both display state and molecular composition.
Start with a measurable criterion
If your first concern is the size of a side chain, use numberOfAtoms, abbreviated nat. For example, sc.nat < 1000 expresses an upper-bound condition, while sc.nat 100:200 expresses a range. These examples use deliberately broad values; choose cutoffs that make sense for the structures and question you are working with.
Element counts let you make the criterion more specific. The available short names include nC for carbons, nH for hydrogens, nN for nitrogens, nO for oxygens, and nS for sulfurs. For instance, sc.nC < 10 refers to a carbon-count threshold, and sc.nO 10:20 refers to an oxygen-count range. The attribute list also includes ncga, the count of coarse-grained atoms.
Keep the two charge attributes distinct
NSL exposes both formalCharge (fc) and partialCharge (pc). They are separate attributes, with different value types in this reference: formal charge is an integer, while partial charge is a floating-point value. Example expressions include sc.fc > 1, sc.fc 6:8, sc.pc > 1.5, and sc.pc 1.5:2.0.
This distinction is useful when translating a scientific question into a filter. Decide which charge representation your analysis calls for before choosing an attribute; a threshold on one should not be casually substituted for a threshold on the other. The documentation lists the supported types and query forms, but it does not prescribe a scientifically appropriate cutoff for a particular system.
Use names and state when composition is not enough
Side chains also inherit the node name attribute. Names are written in quotes, as in sc.n "A" or sc.n "L*". If you are identifying candidates by name rather than composition, this offers another way to express the search. The reference gives these as examples; confirm how a name expression matches your model before relying on it for a critical selection.
For display and selection state, boolean attributes include visible (v), hidden (h), selected, selectionFlag (sf), and visibilityFlag (vf). Examples such as sc.v, not sc.v, and sc.sf false show how to express positive and negative checks. Notice that selected has no short name in this attribute space, so use sc.selected, not a guessed abbreviation.
Make the filter easy to revisit
A practical habit is to write down the question first—such as “which side chains fall within this atom-count range?”—then select the matching attribute and use its documented short name. Keep each threshold explicit, and check whether you mean a count, formal charge, partial charge, or display state. This makes a query easier to review later and helps prevent a plausible-looking abbreviation from silently changing what you are asking.
For the complete attribute list and examples, see the SAMSON side-chain attributes reference.
Note: SAMSON and all SAMSON Extensions are free for non-commercial use. Get SAMSON.
