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 n.c lip, gly |
hasMaterial | hm |
true , false |
n.hm not n.hm |
hidden | h |
true , false |
n.h n.v false |
locked | l |
true , false |
n.l not n.l |
lockedFlag | lf |
true , false |
n.lf true |
name | n |
strings in quotes | n.n "A" n.n "L*" |
ownsMaterial | om |
true , false |
n.om |
selected | s |
true , false |
n.s not n.s |
selectionFlag | sf |
true , false |
n.sf false n.sf |
type | t |
See node type | n.t a |
visibilityFlag | vf |
true , false |
n.vf false n.vf |
visible | v |
true , false |
n.v not 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:
Attribute name | Short name |
---|---|
glycan | gly |
heavyAtomsWithLinkingBonds | hawlb |
hydrogensWithBonds | hwb |
ion | ion |
monatomicIon | mIon |
polyatomicIon | pIon |
ligand | lig |
lipid | lip |
dna | |
rna | |
receptor | rec |
water | wat |
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 glycansnode.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 heavy atoms (non-hydrogen atoms) with bonds between themnode.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 hydrogens with bonds to themnode.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 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 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 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 ligandsatom.symbol N in node.category ligand
(short version:a.s N in n.c lig
): matches 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 lipidsatom.symbol C in node.category lipid
(short version:a.s C in n.c lip
): matches carbons in lipids
Receptor#
The receptor
attribute (short name: rec
, alias: protein
) matches receptors.
Examples:
node.category receptor
(short version:n.c rec
): matches receptors"CA" in node.category receptor
(short version:"CA" in n.c rec
): matches "CA" nodes (e.g., alpha carbons) in receptors
DNA#
The dna
attribute matches DNA residues.
RNA#
The rna
attribute matches RNA residues.
Water#
The water
attribute (alias: solvent
, short names: wat
, sol
) matches water structures.
Examples:
node.category water
(short version:n.c wat
): matches water structuresatom.symbol O in node.category water
(short version:a.s O in n.c wat
): matches oxygens in water structures
Visual model categories#
The following visual models categories are available:
ballAndStick
(short name:bas
) - matches ball-and-stick visual modelslicorice
(short name:lic
) - matches licorice visual modelsvanDerWaals
(short name:vdw
) - matches van der Waals visual modelscartoon
(short name:car
) - matches cartoon style secondary structure visual modelsribbon
(short name:rib
) - matches ribbon style secondary structure visual modelstube
(short name:tub
) - matches tube style secondary structure visual modelsgaussianSurface
(short name:gau
) - matches gaussian surface visual modelssolventAccessibleSurface
(short name:sas
) - matches solvent accessible surface visual modelssolventExcludedSurface
(short name:ses
) - matches solvent excluded surface visual modelssurface
(short name:sur
) - matches 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 van der Waals visual modelsnode.category licorice, ribbon
(short version:n.c lic, rib
): matches 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: true
, false
.
Examples:
node.hasMaterial
(short version:n.hm
): matches 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: true
, false
.
Examples:
node.hidden
(short version:n.h
): matches 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: true
, false
.
Examples:
node.locked
(short version:n.l
): matches 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 nodes with a locked flag set totrue
name#
The node.name
attribute (short name: n.n
) matches nodes based on their names.
Possible values: names, you can use wildcard character (*
).
Examples:
node.name "A"
(short version:n.n "A"
): matches nodes with their names equal toA
node.name "L*"
(short version:n.n "L*"
): matches nodes with their names starting withL
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: true
, false
.
Examples:
node.ownsMaterial
(short version:n.om
): matches 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: true
, false
.
Examples:
node.selected
(short version:n.s
): matches 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 nodes with the selection flag set totrue
type#
The node.type
attribute (short name: n.t
) matches nodes by type.
Possible values:
animation
(short name:an
)asset
(short name:as
)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
)light
(short name:li
)mesh
(short name:me
)molecule
(short name:m
)nodeGroup
(short name:ng
)note
(short name:nt
)path
(short name:p
)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
)visualModel
(short name:vm
)
Examples:
node.type atom
(short version:n.t a
): matches atomsnode.type sidechain
(short version:n.t sc
): matches side chain nodesnode.type visualModel, mesh
(short version:n.t vm, mesh
): matches visual models and meshesnode.type atom, bond
(short version:n.t a, b
): matches 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 nodes with the visibility flag set totrue
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: true
, false
.
Examples:
node.visible
(short version:n.v
): selects all visible nodes