Skip to content

Node attributes#

Node attributes, defined in the node attribute space (short name n), correspond to attributes defined in each node of the data graph or to other properties of nodes. For example, the selection flag is a node attribute, since each node has a selection flag. Hence, the NSL expression node.selectionFlag true may match any node whose selection flag is true, regardless of its node type (atom, bond, etc.).

The following node attributes are available in NSL:

Attribute name Short name Possible values Examples
category c See Structure categories,
Visual model categories
n.c lig
hasMaterial hm n.hm
hidden h n.h
locked l n.l
lockedFlag lf true or false n.lf true
ownsMaterial om n.om
selected s n.s
selectionFlag sf true or false n.sf true
type t See node type n.t a
visibilityFlag vf true or false n.vf false
visible v n.v

category#

SAMSON's NSL supports the following node categories that might describe categories of nodes and groups of nodes:

Structure categories#

The following structure categories are available:

Glycan#

The glycan attribute (short name gly) matches glycan structural groups based on their names.

Examples:

  • node.category glycan (short version: n.c gly): matches all glycans
  • node.type atom in node.category glycan (short version: n.t a in n.c gly): matches atoms in glycans

Heavy atoms with bonds between them#

The heavyAtomsWithLinkingBonds attribute (short name hawlb) matches heavy atoms (non-hydrogen atoms) with bonds between them.

Examples:

  • node.category heavyAtomsWithLinkingBonds (short version: n.c hawlb): matches all heavy atoms (non-hydrogen atoms) with bonds between them
  • node.category heavyAtomsWithLinkingBonds in node.category ligand (short version: n.c hawlb in n.c lig): matches heavy atoms with bonds between them in ligands

Hydrogens with bonds#

The hydrogensWithBonds attribute (short name hwb) matches hydrogens with bonds to them.

Examples:

  • node.category hydrogensWithBonds (short version: n.c hwb): matches all hydrogens with bonds to them
  • node.category hydrogensWithBonds in node.category ligand (short version: n.c hwb in n.c lig): matches hydrogens with bonds to them in ligands

Ion#

The ion attribute matches ions based on their names.

Examples:

  • node.category ion: matches all ions based on their names

Monatomic ion#

The monatomicIon attribute (short name mIon) matches monatomic ions.

Examples:

  • node.category monatomicIon (short version: n.c mIon): matches all monatomic ions

Polyatomic ion#

The polyatomicIon attribute (short name pIon) matches polyatomic ions based on their valence.

Examples:

  • node.category polyatomicIon (short version: n.c pIon): matches all polyatomic ions based on their valence

Ligand#

The ligand attribute (short name lig) matches ligands based on their structure.

Examples:

  • node.category ligand (short version: n.c lig): matches all ligands
  • atom.symbol N in node.category ligand (short version: a.s N in n.c lig): matches all nitrogens in ligands

Lipid#

The lipid attribute (short name lip) matches lipid structural groups based on their names.

Examples:

  • node.category lipid (short version: n.c lip): matches all lipids
  • atom.symbol C in node.category lipid (short version: a.s C in n.c lip): matches all carbons in lipids

Receptor#

The receptor attribute (short name rec) matches receptors.

Examples:

  • node.category receptor (short version: n.c rec): matches all receptors
  • "CA" in node.category receptor (short version: "CA" in n.c rec): matches all "CA" nodes (e.g., alpha carbons) in receptors

Water#

The water attribute (short names wat, sol) matches water structures.

Examples:

  • node.category water (short version: n.c wat): matches water structures
  • atom.symbol O in node.category water (short version: a.s O in n.c wat): matches all oxygens in water structures

Visual model categories#

The following visual models categories are available:

  • ballAndStick (short name bas) - matches all ball-and-stick visual models
  • licorice (short name lic) - matches all licorice visual models
  • vanDerWaals (short name vdw) - matches all van der Waals visual models
  • cartoon (short name car) - matches all cartoon style secondary structure visual models
  • ribbon (short name rib) - matches all ribbon style secondary structure visual models
  • tube (short name tub) - matches all tube style secondary structure visual models
  • gaussianSurface (short name gau) - matches all gaussian surface visual models
  • solventAccessibleSurface (short name sas) - matches all solvent accessible surface visual models
  • solventExcludedSurface (short name ses) - matches all solvent excluded surface visual models
  • surface (short name sur) - matches all surface visual models

You can use them to select the corresponding types of visual models.

Examples:

  • node.category vanDerWaals (short version: n.c vdw): matches all van der Waals visual models
  • node.category licorice and node.category ribbon (short version: n.c lic and n.c rib): matches all licorice and ribbon visual models

hasMaterial#

The node.hasMaterial attribute (short name n.hm) matches nodes that have a material, either because they own it (i.e. the material is applied to them) or because they inherit it (i.e. a material is applied to one of their ascendants).

Possible values: none.

Examples:

  • node.hasMaterial (short version: n.hm): matches all nodes which have a material

hidden#

The node.hidden attribute (short name n.h) matches nodes that are hidden, either because their visibility flag is false, or because the visibility flag of one of their ancestors is false.

Possible values: none.

Examples:

  • node.hidden (short version: n.h): matches all hidden nodes

locked#

The node.locked attribute (short name n.l) matches nodes that are locked, either because their locked flag is true, or because the locked flag of one of their ancestors is true.

Possible values: none.

Examples:

  • node.locked (short version: n.l): matches all locked nodes

lockedFlag#

The node.lockedFlag attribute (short name n.lf) matches nodes based on their locked flag.

Possible values: true or false.

Examples:

  • node.lockedFlag true (short version: n.lf true): matches all nodes with a locked flag set to true

ownsMaterial#

The node.ownsMaterial attribute (short name n.om) matches nodes that own a material (i.e. the material is applied to them).

Possible values: none.

Examples:

  • node.ownsMaterial (short version: n.om): matches all nodes which own a material

selected#

The node.selected attribute (short name n.s) matches nodes that are selected, either because their selection flag is true, or because the selection flag of one of their ancestors is true.

Possible values: none.

Examples:

  • node.selected (short version: n.s): matches all selected nodes

selectionFlag#

The node.selectionFlag attribute (short name n.sf) matches nodes based on their selection flag.

Possible values: true or false.

Examples:

  • node.selectionFlag true (short version: n.sf true): matches all nodes with a selection flag set to true

type#

The node.type attribute (short name n.t) matches nodes by type.

Possible values:

  • animation (short name an)
  • atom (short name a)
  • backbone (short name bb)
  • bond (short name b)
  • camera (short name ca)
  • chain (short name c)
  • conformation (short name co)
  • document (short name d)
  • dynamicalModelParticleSystem (short name dmps)
  • file (short name fi)
  • folder (short name f)
  • hydrogenBondGroup (short name hbg)
  • interactionModelParticleSystem (short name imps)
  • label (short name la)
  • mesh (short name me)
  • molecule (short name m)
  • nodeGroup (short name ng)
  • note (short name nt)
  • presentation (short name pr)
  • propertyModel (short name pm)
  • renderPreset (short name rp)
  • residue (short name r)
  • segment (short name s)
  • sidechain (short name sc)
  • simulatorParticleSystem (short name sps)
  • stateUpdaterParticleSystem (short name sups)
  • structuralGroup (short name sg)
  • structuralModel (short name sm)
  • structuralParticle (short name sp)
  • visualModel (short name vm)

Examples:

  • node.type atom (short version: n.t a): matches all atoms
  • node.type sidechain (short version: n.t sc): matches all side-chain nodes
  • node.type visualModel (short version: n.t vm): matches all visual models
  • node.type atom or node.type bond (short version: n.t a or n.t b): matches all atoms and bonds

visibilityFlag#

The node.visibilityFlag attribute (short name n.vf) matches nodes based on their visibility flag.

Possible values: true or false.

Examples:

  • node.visibilityFlag true (short version: n.vf true): matches all nodes with the visibility flag set to true

visible#

The node.visible attribute (short name n.v) matches nodes that are visible, i.e. the nodes whose visibility flag is true and whose ancestors are visible.

Possible values: none.

Examples:

  • node.visible (short version: n.v): selects all visible nodes