Finding the Side Chains You Mean: A Practical NSL Filtering Guide

When a molecular structure is crowded with atoms, residues, and other nodes, finding the side chains relevant to a modeling task can be a surprisingly fiddly first step. A broad selection may include more than you intended; a visual search can take time; and a residue name alone may not describe the property you actually need to inspect.

SAMSON’s Node Specification Language (NSL) provides a way to target side chain nodes by attributes such as visibility, atom counts, formal charge, and partial charge. The useful habit is to turn your question into a property-based filter: first decide what you mean by “the right side chains,” then choose the attribute that expresses that criterion.

Start with the side-chain namespace

The sideChain attribute space is documented with the short name s and matches side chain nodes. The page’s examples write expressions with the sc prefix, such as sc.nC < 10. Use the documented attribute examples as a syntax reference when building a query.

This distinction is practical: a name condition and a chemical-composition condition answer different questions. For instance, sc.n "A" is an example of filtering by name, while sc.nO < 10 expresses a condition on the number of oxygens. Choose the one that matches the decision you need to make; don’t assume a name identifies a particular chemical property.

Use counts to narrow by composition

Several inherited structural-group attributes describe the number of atoms of particular elements in a side chain. The examples include:

  • sc.nC < 10 or sc.nC 10:20 for carbon counts
  • sc.nH < 10 for hydrogen counts
  • sc.nN < 10 for nitrogen counts
  • sc.nO < 10 for oxygen counts
  • sc.nS < 10 for sulfur counts
  • sc.nat < 1000 or sc.nat 100:200 for total atom counts

These are useful when your selection question is about size or elemental makeup rather than a label. The range form shown in the documentation makes it possible to specify an interval, while comparison operators let you set a threshold. The examples demonstrate syntax; they are not universal scientific cutoffs, so choose values that fit your structure and purpose.

Keep formal and partial charge distinct

Charge-based searches need a little care. formalCharge, abbreviated fc, accepts integer comparisons; the page gives sc.fc > 1 and sc.fc 6:8 as examples. partialCharge, abbreviated pc, accepts floating-point values, with examples such as sc.pc > 1.5 and sc.pc 1.5:2.0.

These attributes are not interchangeable: one is documented as an integer-valued formal charge and the other as a floating-point partial charge. Before filtering, decide which quantity is relevant to your analysis. Also note that this reference page does not specify units or recommend thresholds; interpret values in the context of your model and workflow.

Check visibility and selection separately

Side chains inherit node attributes for visibility and selection. For example, sc.v and not sc.v express visible and not-visible conditions, while sc.selected and not sc.selected address selection state. The page also lists flags such as sc.vf for visibilityFlag and sc.sf for selectionFlag.

These related attributes describe different criteria in the reference, so use the one that matches the question you are asking. Are you looking for side chains that are currently visible, or checking a visibility flag? Are you filtering by current selection, or by a selection flag? Making that distinction can prevent a query from expressing the wrong intent.

A small, repeatable filtering routine

  1. State the goal: for example, “inspect side chains by oxygen count” or “check side chains by partial charge.”
  2. Choose the matching attribute: use nO for oxygen count, pc for partial charge, or fc for formal charge.
  3. Use a suitable operator: the reference shows comparisons such as < and >, as well as ranges such as 10:20.
  4. Check the result against the model: a query is only useful if its matches fit the intended structural question.

This attribute-based approach replaces vague searching with a criterion you can inspect and adjust. It is especially helpful when a side chain should be identified by its properties rather than by appearance alone.

For the complete attribute list and more examples, see the SAMSON side chain NSL reference.

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

Comments are closed.