Skip to content

Atom attributes#

Atom attributes are defined in the atom attribute space (short name a). Atom attributes may only match atom nodes.

The following atom attributes are available in NSL:

Attribute name Short name Possible values Examples
altLocation alt a.alt A
aminoAcidBackbone aabb a.aabb
Aromatic ar a.ar
chain c a.c A
chainID ci a.ci == 1
coarseGrainedMass cgm a.cgm > 50Da
coarseGrainedRadius cgr a.cgr > 0.5A
coarseGrainedType cgt a.cgt P4
customType ct a.ct == 1
element e a.e Carbon
formalCharge fc a.fc > 1
geometry g See atom geometry a.g tetrahedral
hetatm het a.het
hybridization hy See atom hybridization a.hy sp2
metal met a.met
fixed f a.f
nucleicAcidBackbone nabb a.nabb
numberOfBondedAtoms nba a.nba > 2
numberOfBondedCarbons nbha a.nbha > 2
numberOfBondedHeavyAtoms nbc a.nbc == 2
numberOfBondedHydrogens nbh a.nbh == 3
numberOfBondedNitrogens nbn a.nbn == 1
numberOfBondedOxygens nbo a.nbo == 2
numberOfBondedSulfurs nbs a.nbs == 1
occupancy oc a.oc < 0.3
oxidationState os a.os > 2
partialCharge pc a.pc > 2
planar pl a.pl
residueSequenceNumber resi a.resi == 42
resonance reso a.reso
serialNumber sn a.sn > 1000
sybyl sy a.sy C.2
symbol s a.s Ca
temperatureFactor tf a.tf > 75
water w a.w>
x x a.x
y y a.y
z z a.z

altLocation#

The atom.altLocation attribute (short name a.alt) matches atoms based on their alternate location.

Possible values: a character.

Examples:

  • atom.altLocation B (short version: a.alt B): matches all atoms with alternate location B
  • atom.altLocation B or atom.altLocation C (short version: a.alt B or a.alt C): matches all atoms with alternate location B or C

aminoAcidBackbone#

The atom.aminoAcidBackbone attribute (short name a.aabb) matches atoms that belong to an amino-acid backbone.

Possible values: none.

Examples:

  • atom.aminoAcidBackbone (short version: a.aabb): matches atoms that belong to an amino-acid backbone
  • "CA" and atom.aminoAcidBackbone (short version: "CA" and a.aabb): matches "CA" atoms that belong to an amino-acid backbone

aromatic#

The atom.aromatic attribute (short name a.ar) matches atoms that are aromatic.

Possible values: none.

Examples:

  • atom.aromatic (short version: a.ar): matches aromatic atoms
  • atom.symbol C and atom.aromatic (short version: a.s C and a.ar): matches aromatic carbon atoms

chain#

The atom.chain attribute (short name a.c) matches atoms that are aromatic.

Possible values: a character.

Examples:

  • atom.chain A (short version: a.c A): matches atoms from chain A
  • atom.chain B or atom.chain C (short version: a.c B or a.c C): matches atoms from chain B or C

chainID#

The atom.chainID attribute (short name a.ci) matches atoms with specific chain IDs.

Possible values: an integer.

Examples:

  • atom.chainID == 0 (short version: a.ci == 0): matches atoms from chain ID 0
  • atom.chainID >= 0 (short version: a.ci >= 0): matches atoms from chain ID greater than 0
  • atom.chainID >= 0 and atom.chainID <= 2 (short version: a.ci >= 0 and a.ci <= 2): matches atoms from chain ID between 0 and 2

coarseGrainedMass#

The atom.coarseGrainedMass attribute (short name a.cgm) matches coarse-grained atoms with specific coarse-grained mass. Note that this works only for coarse-grained atoms.

Possible values: a mass.

Examples:

  • atom.coarseGrainedMass >= 50Da (short version: a.cgm > 50Da): matches coarse-grained atoms with their mass greater than or equal to 50 dalton
  • atom.coarseGrainedMass > 60Da and atom.coarseGrainedMass < 100Da (short version: a.cgm > 60Da and a.cgm < 100Da): matches coarse-grained atoms that have mass between 60 and 100 daltons

coarseGrainedRadius#

The atom.coarseGrainedRadius attribute (short name a.cgr) matches coarse-grained atoms with specific coarse-grained radius. Note that this works only for coarse-grained atoms.

Possible values: a length.

Examples:

  • atom.coarseGrainedRadius == 0.3A (short version: a.cgr == 0.3A): matches coarse-grained atoms with their radius equal to 0.3A
  • atom.coarseGrainedRadius > 0.2A and atom.coarseGrainedType < 1A (short version: a.cgr > 0.2A and a.cgr < 1A): matches coarse-grained atoms that have radius between 0.2A and 1A

coarseGrainedType#

The atom.coarseGrainedType attribute (short name a.cgt) matches coarse-grained atoms with specific types. Note that this works only for coarse-grained atoms with defined type.

Possible values: a string.

Examples:

  • atom.coarseGrainedType P4 (short version: a.cgt P4): matches coarse-grained atoms with type P4
  • atom.coarseGrainedType C3 or atom.coarseGrainedType C5 (short version: a.cgt C3 or a.cgt C5): matches coarse-grained atoms with type C3 or C5

customType#

The atom.customType attribute (short name a.ct) matches atoms with specific custom types. Note that this works only for atoms with defined custom type.

Possible values: an integer.

Examples:

  • atom.customType == 0 (short version: a.ct == 0): matches atoms with custom type 0
  • atom.customType >= 0 (short version: a.ct >= 0): matches atoms with custom type greater than 0
  • atom.customType >= 0 and atom.customType <= 2 (short version: a.ct >= 0 and a.ct <= 2): matches atoms with custom type between 0 and 2

element#

The atom.element attribute (short name a.e) matches atoms by element. Another option is to use symbol.

Possible values: element names.

Examples:

  • atom.element Carbon (short version: a.e Carbon): matches carbon atoms
  • atom.element Nitrogen (short version: a.e Nitrogen): matches nitrogen atoms
  • atom.symbol O (short version: a.s O): matches oxygen atoms

formalCharge#

The atom.formalCharge attribute (short name a.fc) matches atoms with specific formal charges.

Possible values: integer values.

Examples:

  • atom.formalCharge > 1 (short version: a.fc > 1): matches atoms with formal charge greater than 1
  • atom.formalCharge >= 2 and atom.formalCharge <= 3 (short version: a.fc >= 2 and a.fc <= 3): matches atoms with formal charge between 2 and 3

geometry#

The atom.geometry attribute (short name a.g) matches atoms with specific geometry. Please note, that geometry needs to be computed first.

Possible geometry type values:

  • linear (short name: l)
  • bent (short name: b)
  • trigonalplanar (short name: tpl)
  • trigonalpyramidal (short name: tpy)
  • tshaped (short name: ts)
  • tetrahedral (short name: tet)
  • squareplanar (short name: spl)
  • seesaw (short name: ss)
  • trigonalbipyramidal (short name: tb)
  • squarepyramidal (short name: spy)
  • pentagonalplanar (short name: ppl)
  • octahedral (short name: o)
  • trigonalprismatic (short name: tpr)
  • pentagonalpyramidal (short name: ppy)
  • pentagonalbipyramidal (short name: pbp)
  • cappedoctahedral (short name: co)
  • cappedtrigonalprismatic (short name: ctp)
  • squareantiprismatic (short name: sa)
  • dodecahedral (short name: d)
  • bicappedtrigonalprismatic (short name: btp)
  • tricappedtrigonalprismatic (short name: ttp)
  • cappedsquareantiprismatic (short name: csa)
  • undefined (short name: u)

Examples:

  • atom.geometry tetrahedral (short version: a.g tet): matches atoms with tetrahedral geometry
  • atom.geometry linear (short version: a.g l): matches atoms with linear geometry
  • atom.geometry octahedral or atom.geometry dodecahedral (short version: a.g o or a.g d): matches atoms with octahedral or dodecahedral geometry

hetatm#

The atom.hetatm attribute (short name a.het) matches heteroatoms in protein structures, i.e. atoms whose record type is HETATM in the Protein Data Bank file format.

Possible values: none.

Examples:

  • atom.hetatm (short version: a.het): matches atoms with HETATM record
  • node.type atom and not (atom.symbol H or atom.symbol C) (short version: n.t a and not (a.s H or a.s C)): matches heteroatoms, i.e. atoms that are not carbons or hydrogens

hybridization#

The atom.hybridization attribute (short name a.hy) matches atoms with specific hybridization. Please note, that hybridization needs to be assigned first. Note that hybridization might not be specified for atoms by default.

Possible hybridization type values:

  • none (short name: n)
  • SP (alternative name: sp)
  • SP2 (alternative name: sp2)
  • SP3 (alternative name: sp3)
  • SP3D (alternative name: sp3d)
  • SP3D2 (alternative name: sp3d2)
  • unknown (short name: u)

Examples:

  • atom.hybridization SP2 (short version: a.hy sp2): matches atoms with SP2 hybridization.
  • atom.hybridization none (short version: a.hy n): matches atoms with no hybridization specified.

metal#

The atom.metal attribute (short name a.met) matches atoms from metal subcategories.

Possible values: none.

Examples:

  • atom.metal (short version: a.met): matches atoms from metal subcategories
  • node.type atom and not atom.metal (short version: n.t a and not a.met): matches atoms that are not from metal subcategories

mobile#

Deprecated: use fixed instead.

The atom.mobile attribute (short name a.mo) matches atoms that are mobile.

Possible values: none.

Examples:

  • atom.mobile (short version: a.mo): matches mobile atoms

fixed#

The atom.fixed attribute (short name a.f) matches atoms that are fixed (non-mobile).

Possible values: none.

Examples:

  • atom.fixed (short version: a.f): matches fixed atoms
  • node.type atom and not atom.fixed (short version: n.t a and not a.f): matches non-fixed atoms

nucleicAcidBackbone#

The atom.nucleicAcidBackbone attribute (short name a.nabb) matches atoms that belong to a nucleic acid backbone.

Possible values: none.

Examples:

  • atom.nucleicAcidBackbone (short version: a.nabb): matches atoms that belong to a nucleic acid backbone

numberOfBondedAtoms#

The atom.numberOfBondedAtoms attribute (short name a.nba) matches atoms with a specific number of bonded atoms.

Possible values: integers.

Examples:

  • atom.numberOfBondedAtoms > 3 (short version: a.nba > 3): matches atoms that have more than 3 bonded atoms

numberOfBondedHeavyAtoms#

The atom.numberOfBondedHeavyAtoms attribute (short name a.nbha) matches atoms with a specific number of bonded heavy (non-hydrogen) atoms.

Possible values: integers.

Examples:

  • atom.numberOfBondedHeavyAtoms == 3 (short version: a.nbha == 3): matches atoms that have exactly 3 bonded heavy atoms

numberOfBondedCarbons#

The atom.numberOfBondedCarbons attribute (short name a.nbc) matches atoms with a specific number of bonded carbon atoms.

Possible values: integers.

Examples:

  • atom.numberOfBondedCarbons> 3 (short version: a.nbc > 3): matches atoms that have more than 3 bonded carbon atoms

numberOfBondedHydrogens#

The atom.numberOfBondedHydrogens attribute (short name a.nbh) matches atoms with a specific number of bonded hydrogen atoms.

Possible values: integers.

Examples:

  • atom.numberOfBondedHydrogens (short version: a.nbh == 3): matches atoms that have exactly 1 bonded hydrogen atom

numberOfBondedNitrogens#

The atom.numberOfBondedNitrogens attribute (short name a.nbn) matches atoms with a specific number of bonded nitrogen atoms.

Possible values: integers.

Examples:

  • atom.numberOfBondedNitrogens < 2 (short version: a.nbn < 2): matches atoms that have less than 2 bonded nitrogen atoms

numberOfBondedOxygens#

The atom.numberOfBondedOxygens attribute (short name a.nbo) matches atoms with a specific number of bonded oxygen atoms.

Possible values: integers.

Examples:

  • atom.numberOfBondedOxygens == 2 (short version: a.nbo == 2): matches atoms that have exactly 2 bonded oxygen atoms

numberOfBondedSulfurs#

The atom.numberOfBondedSulfurs attribute (short name a.nbs) matches atoms with a specific number of bonded sulfur atoms.

Possible values: integers.

Examples:

  • atom.numberOfBondedSulfurs == 0 (short version: a.nbs == 0): matches atoms that have zero bonded sulfur atoms

occupancy#

The atom.occupancy attribute (short name a.oc) matches atoms with a specific occupancy.

Possible values: floating-point values.

Examples:

  • atom.occupancy > 0.5 (short version: a.oc > 0.5): matches atoms with occupancy greater than 0.5
  • atom.occupancy >= 0.6 and atom.occupancy <= 0.7 (short version: a.oc >= 0.6 and a.oc <= 0.7): matches atoms with occupancy between 0.6 and 0.7

oxidationState#

The atom.oxidationState attribute (short name a.os) matches atoms with a specific oxidation state.

Possible values: integer values.

Examples:

  • atom.oxidationState >= 2 (short version: a.os >= 2): matches atoms with oxidation state greater than or equal to 2

partialCharge#

The atom.partialCharge attribute (short name a.pc) matches atoms with specific partial charges.

Possible values: floating-point values.

Examples:

  • atom.partialCharge >= 1.3 (short version: a.pc >= 1.3): matches atoms with partial charge greater than or equal to 1.3

planar#

The atom.planar attribute (short name a.pl) matches planar atoms, i.e. atoms that are in a plane with its covalently bonded atoms.

Possible values: none.

Examples:

  • atom.planar (short version: a.pl): matches planar atoms

residueSequenceNumber#

The atom.residueSequenceNumber attribute (short name a.resi) matches atoms in residues with specific indices.

Possible values: integers.

Examples:

  • atom.residueSequenceNumber == 12 (short version: a.resi == 12): matches atoms in residue 12
  • atom.residueSequenceNumber >= 12 and atom.residueSequenceNumber <= 97 (short version: a.resi >= 12 and a.resi <= 97): matches atoms in residue 12 to 97

resonance#

The atom.resonance attribute (short name a.reso) matches resonant atoms.

Possible values: none.

Examples:

  • atom.resonance (short version: a.reso): matches resonant atoms
  • node.type atom and not atom.resonance (short version: n.t a and not a.reso): matches non-resonant atoms

serialNumber#

The atom.serialNumber attribute (short name a.sn) matches atoms with specific serial numbers.

Possible values: integers.

Examples:

  • atom.serialNumber >= 20 (short version: a.sn >= 20): matches atoms with serial number larger than 20
  • atom.serialNumber >= 20 and atom.serialNumber <= 897 (short version: a.sn >= 20 and a.sn <= 897): matches atoms with serial number between 20 and 897

sybyl#

The atom.sybyl attribute (short name a.sy) matches atoms with the specified SYBYL type. Please note, that atoms need to have SYBYL types assigned.

Possible values: sybyl type names, e.g. "C.2", "C.3", "N.2", etc.

Examples:

  • atom.sybyl "C.3" (short version: a.sy "C.3"): matches atoms with the specified C.3 SYBYL type

symbol#

The atom.symbol attribute (short name a.s) matches atoms with specific symbols.

Possible values: element symbols.

Examples:

  • atom.symbol C (short version: a.s C): matches carbon atoms
  • atom.symbol N (short version: a.s N): matches nitrogen atoms
  • atom.symbol C or atom.symbol H (short version: a.s C or a.s H): matches atoms that are carbons or hydrogens

temperatureFactor#

The atom.temperatureFactor attribute (short name a.tf) matches atoms with specific temperature factors.

Possible values: floating-point values.

Examples:

  • atom.temperatureFactor > 2 (short version: a.tf > 2): matches atoms with a temperature factor strictly greater than 2
  • atom.temperatureFactor >= 10 and atom.temperatureFactor <= 50 (short version: a.tf >= 10 and a.tf <= 50): matches atoms with a temperature factor between 10 and 50

water#

The atom.water attribute (short name a.w) matches atoms with the water flag.

Possible values: none.

Examples:

  • atom.water (short version: a.w): matches water atoms
  • atom.symbol O and atom.water (short version: a.s O and a.w): matches oxygen atoms that have the water flag
  • atom.symbol O in water (short version: a.s O in wat): matches oxygen atoms in water

x, y, z#

The atom.x, atom.y, atom.z (short names: a.x, a.y, a.z) attributes match atoms with specific x, y, z coordinates.

Possible values: floating-point values with length units.

Possible units for lengths are:

  • micrometer (short name um)
  • nanometer (short name nm)
  • angstrom (short name A)
  • picometer (short name pm)
  • femtometer (short name fm)

Examples:

  • atom.x >= 1.0 A (short version: a.x >= 1.0 A): matches atoms whose x coordinate is greater than or equal to 1.0 angstrom
  • atom.y < 2.0 nm (short version: a.y < 2.0 nm): matches atoms whose y coordinate is less than 2 nm
  • atom.z > 100 pm (short version: a.z > 100 pm): matches atoms whose z coordinate is greater than 100 pm
  • atom.x > 10 A and atom.y > 10 A (short version: a.x > 10 A and a.y > 10 A): matches atoms whose x and y coordinates are greater than 10 angstroms