A molecular project can quickly accumulate structures that are difficult to compare by eye. One molecule may be a small ligand, another a large complex; names alone may not tell you which is which. Before inspecting structures one at a time, it helps to narrow the list using properties you can count: atoms, residues, chains, or selected elements.
In SAMSON, the Node Specification Language (NSL) lets you describe these filters as expressions. The molecule attribute space, abbreviated mol, matches molecule nodes. That scope matters: a molecule-level query is a way to find molecules, rather than individual atoms or residues.
Start with the size of the structure
If you need to separate smaller structures from larger ones, use the number of atoms. For example, mol.nat < 1000 matches molecules with fewer than 1,000 atoms. A range such as mol.nat 100:200 is useful when you want a band of structures rather than a simple cutoff.
Atom count is a broad measure, so it is not always the most informative one. If your question is specifically about protein or polymer length, the number of residues may be a better first filter. mol.nr > 100 finds molecules with more than 100 residues, while mol.nr 100:120 targets the documented range between 100 and 120.
Use composition when size is not enough
Two molecules with similar atom counts can have different compositions. NSL provides element-count attributes for carbon, hydrogen, nitrogen, oxygen, and sulfur. For instance, mol.nC 10:20 filters by carbon count, and mol.nO 10:20 filters by oxygen count. These are useful when you are organizing structures according to a simple composition criterion.
Formal charge is another helpful property to check when charge distinguishes the molecules you are reviewing. The expression mol.fc > 1 matches molecules whose formal charge is greater than 1. For a range, the reference gives mol.fc 6:8.
Don’t confuse structural counts
Several molecule attributes describe different kinds of organization, and their names are worth reading carefully. mol.nc counts chains; mol.nr counts residues; mol.ns counts segments; and mol.nsg counts structural groups. They answer different questions. For example, mol.nc < 3 looks for molecules with fewer than three chains, whereas mol.ns 2:4 filters by segment count. A chain count should not be treated as a substitute for residue count.
These filters can turn an open-ended browsing task into a more focused one: begin with the property that best describes the distinction you care about, inspect the matching molecules, then refine your criteria if needed. The examples here are individual expressions; consult the NSL examples for guidance on building more complex queries.
One practical detail: the molecule attribute space also includes inherited attributes, such as visibility, selection state, and name. That means the same reference can help when you want to find molecules by structure-related counts or by basic node properties. Short names make frequent queries more compact, while the full attribute names are often easier to recognize when learning the syntax.
For the full attribute list and additional examples, see the SAMSON molecule attributes reference.
Note: SAMSON and all SAMSON Extensions are free for non-commercial use. Get SAMSON.
