What's new in SAMSON 2024 - Modeling#
This is Part III of What's new in SAMSON 2024, the release notes for SAMSON 2024.
New selection commands#
SAMSON 2024 introduces new selection commands (for example to select polar hydrogens, etc.). All commands can be found in the Select menu:

New selection modifiers#
As seen in the image above, the behavior of selection commands and selection modifiers is changed in SAMSON 2024:
- By default, clicking on a selection command empties the current selection and creates a new selection.
- Holding Ctrl / Cmd while clicking on the command adds to the current selection.
- Holding Alt / Option while clicking on the command removes from the current selection.
- Holding Shift while clicking on the command intersects with the current selection.
Updates to the Node Specification Language#
SAMSON has a very powerful Node Specification Language (NSL) to specify selections of nodes. In SAMSON 2024, the NSL syntax is significantly expanded :
- Nodes categories: nodes can now be matched by categories. For example,
n.c ligmatches all ligands,n.c recselects all receptors andn.c dnaselects DNA. - Wildcard matches: nodes can now be matched by name using wildcard (
*). For example,AL*matches all nodes whose name begins with AL. - Lists and ranges: where relevant (e.g., residue id, chain id, atom serial number, atom formal charge, etc.), nodes can now be matched by specifying lists or ranges. For example,
r.id 1, 5:10, 12matches residues whose id is either 1, 5, 6, 7, 8, 9, 10 or 12. - Mathematical expressions can now be part of NSL expressions. For example,
r.id 3*4:5*4matches residues 12 to 20. - New node attributes are available:
- For chains:
chain.formalCharge, chain.numberOfAtoms, chain.numberOfCoarseGrainedAtoms, chain.numberOfResidues, chain.numberOfStructuralGroups - For residues:
residue.dna, residue.rna, residue.formalCharge, residue.numberOfAtoms, residue.numberOfCoarseGrainedAtoms - For structural groups:
structuralGroup.formalCharge, structuralGroup.numberOfAtoms, structuralGroup.numberOfCoarseGrainedAtoms - For atoms:
atom.polarHydrogen, atom.nonPolarHydrogen, atom.atomicNumber, atom.covalentRadius, atom.vanDerWaalsRadius, atom.mass, atom.electronegativity
- For chains:
- Boolean attributes do not require using
==or!=anymore. For exampleatom.fixed falsematches all mobile atoms.
Construction#
The Add editor (shortcut A) now automatically chooses where atoms and bonds are located in a structure hierarchy. For example, when adding a methyl group to a tyrosine side chain, the added atoms are placed in the same side chain:

The Local Move editor (shortcut M) now makes it easier to edit dihedral angles: click on the half of the bond corresponding to the fragment that you want to rotate, and edit the angle using the widget that appears:

The Twister editor (shortcut T) now makes it straightforward to create handles based on selections and twist any structures:

Next#
Go to Part IV about Coding.