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 lign.c lip, gly |
| hasMaterial | hm |
true, false |
n.hmnot n.hm |
| hidden | h |
true, false |
n.hnot n.h |
| locked | l |
true, false |
n.lnot 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.snot n.s |
| selectionFlag | sf |
true, false |
n.sf falsen.sf |
| type | t |
See node type | n.t a |
| visibilityFlag | vf |
true, false |
n.vf falsen.vf |
| visible | v |
true, false |
n.vnot 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:
| Attribute name | Short name | Matches... |
|---|---|---|
ballAndStick |
bas |
ball-and-stick visual models |
licorice |
lic |
licorice visual models |
vanDerWaals |
vdw |
van der Waals visual models |
cartoon |
car |
cartoon style secondary structure visual models |
ribbon |
rib |
ribbon style secondary structure visual models |
tube |
tub |
tube style secondary structure visual models |
gaussianSurface |
gau |
gaussian surface visual models |
solventAccessibleSurface |
sas |
solvent accessible surface (SAS) visual models |
solventExcludedSurface |
ses |
solvent excluded surface (SES) visual models |
surface |
sur |
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 toAnode.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