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 |
characters (A, B, ...) | a.alt Aa.alt B, C |
| aminoAcidBackbone | aabb |
true, false |
a.aabb |
| aromatic | ar |
true, false |
a.ar |
| chain | c |
characters (A, B, ...) | a.c Aa.c B,C |
| chainID | ci |
integers | a.ci 1 |
| coarseGrainedMass | cgm |
mass | a.cgm > 50Daa.cgm 50Da:75Da |
| coarseGrainedRadius | cgr |
length | a.cgr > 0.5Aa.cgr 0.5A:1A |
| coarseGrainedType | cgt |
names | a.cgt P4a.cgt C3, C5 |
| customType | ct |
integers | a.ct 1 |
| element | e |
element names | a.e Carbona.e Nitrogen, Oxygen |
| formalCharge | fc |
integers | a.fc > 1a.fc -1, 1 |
| geometry | g |
See atom geometry | a.g tetrahedral |
| hetatm | het |
true, false |
a.het |
| hybridization | hy |
See atom hybridization | a.hy sp2 |
| fixed | f |
true, false |
a.f |
| nonPolarHydrogen | hnp |
true, false |
a.hnp |
| nucleicAcidBackbone | nabb |
true, false |
a.nabb |
| numberOfBondedAtoms | nba |
integers | a.nba > 2 |
| numberOfBondedCarbons | nbha |
integers | a.nbha > 2 |
| numberOfBondedHeavyAtoms | nbc |
integers | a.nbc 2 |
| numberOfBondedHydrogens | nbh |
integers | a.nbh 3 |
| numberOfBondedNitrogens | nbn |
integers | a.nbn 1 |
| numberOfBondedOxygens | nbo |
integers | a.nbo 2 |
| numberOfBondedSulfurs | nbs |
integers | a.nbs 1 |
| occupancy | oc |
floats | a.oc < 0.3 |
| oxidationState | os |
integers | a.os > 2 |
| partialCharge | pc |
floats | a.pc > 2 |
| planar | pl |
true, false |
a.pl |
| polarHydrogen | hp |
true, false |
a.hp |
| residueSequenceNumber | resi |
integers | a.resi 42a.resi 40:50,100 |
| resonance | reso |
true, false |
a.reso |
| serialNumber | sn |
integers | a.sn > 1000 |
| substructureSequenceNumber | sgi |
integers | a.sgi 42a.sgi 40:50,100 |
| sybyl | sy |
SYBYL types | a.sy C.2a.sy C.2, C.3 |
| symbol | s |
element symbols | a.s Caa.s H, O, N, C |
| temperatureFactor | tf |
floats | a.tf > 75 |
| water | w |
true, false |
a.w |
| x | length | a.x 0A:100A |
|
| y | length | a.y -1nm:0nm |
|
| z | length | a.z -1nm:1nm |
The following atom attributes depend only on the atom's element type (i.e. they are equal for atoms with the same element type):
| Attribute name | Short name | Possible values | Examples |
|---|---|---|---|
| atomicNumber | at |
integers | a.at 6a.at 6,8 |
| covalentRadius | cr |
length | a.cr > 0.6Aa.cr 0.6A:1A |
| vanDerWaalsRadius | vdwr |
length | a.vdwr > 2Aa.vdwr 1.5A:2A |
| electronegativity | en |
floats | a.en > 2a.en 1.57:3 |
| mass | m |
mass | a.m < 16Daa.m 14Da:19Da |
| actinide | true, false |
a.actinide |
|
| alkaliMetal | alkali |
true, false |
a.alkaliMetal |
| alkalineEarthMetal | alkaline |
true, false |
a.alkalineEarthMetal |
| diatomicNonmetal | true, false |
a.diatomicNonmetal |
|
| halogen | hal |
true, false |
a.hal |
| lanthanide | true, false |
a.lanthanide |
|
| metal | met |
true, false |
a.met |
| metalloid | true, false |
a.metalloid |
|
| nobleGas | true, false |
a.nobleGas |
|
| reactiveNonmetal | true, false |
a.reactiveNonmetal |
|
| polyatomicNonmetal | true, false |
a.polyatomicNonmetal |
|
| postTransitionMetal | true, false |
a.postTransitionMetal |
|
| transitionMetal | true, false |
a.transitionMetal |
actinide#
The atom.actinide attribute matches atoms from the actinide subcategory.
Possible values: true, false.
alkaliMetal#
The atom.alkaliMetal attribute (short name: a.alkali) matches atoms from the alkali metal subcategory.
Possible values: true, false.
alkalineEarthMetal#
The atom.alkalineEarthMetal attribute (short name: a.alkaline) matches atoms from the alkaline earth metal subcategory.
Possible values: true, false.
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 atoms with alternate location Batom.altLocation B, C(short version:a.alt B, C): matches 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: true, false.
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
atomicNumber#
The atom.atomicNumber attribute (short name: a.at) matches atoms with specific atomic number.
Possible values: integer.
Examples:
atom.atomicNumber 1(short version:a.at 1): matches atoms with atomic number 1atom.atomicNumber 6, 8(short version:a.at 6,8): matches atoms with atomic number 6 or 8
aromatic#
The atom.aromatic attribute (short name: a.ar) matches atoms that are aromatic.
Possible values: true, false.
Examples:
atom.aromatic(short version:a.ar): matches aromatic atomsatom.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 Aatom.chain B, C(short version:a.c B, 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 0atom.chainID >= 0(short version:a.ci >= 0): matches atoms from chain ID greater than 0atom.chainID 0:2(short version:a.ci 0: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: mass.
Examples:
atom.coarseGrainedMass >= 50Da(short version:a.cgm >= 50Da): matches coarse-grained atoms with their mass greater than or equal to 50 daltonatom.coarseGrainedMass 60Da:100Da(short version:a.cgm 60Da: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: length.
Examples:
atom.coarseGrainedRadius == 0.3A(short version:a.cgr == 0.3A): matches coarse-grained atoms with their radius equal to 0.3Aatom.coarseGrainedRadius 0.2A:1A(short version:a.cgr 0.2A: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 P4atom.coarseGrainedType C3, C5(short version:a.cgt C3, C5): matches coarse-grained atoms with type C3 or C5
covalentRadius#
The atom.covalentRadius attribute (short name: a.cr) matches atoms with specific covalent radius.
Possible values: length.
Examples:
atom.covalentRadius > 0.6A(short version:a.cr > 0.6A): matches atoms with their covalent radius greater than 0.6Aatom.covalentRadius 0.6A:1A(short version:a.cr 0.6A:1A): matches atoms that have covalent radius between 0.6A and 1A
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 0atom.customType >= 0(short version:a.ct >= 0): matches atoms with custom type greater than 0atom.customType 0:2(short version:a.ct 0:2): matches atoms with custom type between 0 and 2
diatomicNonmetal#
The atom.diatomicNonmetal attribute matches atoms from the diatomic nonmetal subcategory (H, N, O, F, Cl, Br, I).
Possible values: true, false.
electronegativity#
The atom.electronegativity attribute (short name: a.en) matches atoms with specific electronegativity.
Possible values: float values.
Examples:
atom.electronegativity > 2(short version:a.en > 2): matches atoms with their electronegativity greater than 2atom.electronegativity 1.57:3(short version:a.en 1.57:3): matches atoms that have electronegativity between 1.57 and 3
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 atomsatom.element Oxygen, Nitrogen(short version:a.e Oxygen, Nitrogen): matches oxygen and nitrogen atomsatom.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 1atom.formalCharge 2:3(short version:a.fc 2: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 geometryatom.geometry linear(short version:a.g l): matches atoms with linear geometryatom.geometry octahedral, dodecahedral(short version:a.g o, d): matches atoms with octahedral or dodecahedral geometry
halogen#
The atom.halogen attribute (short name: a.hal) matches halogen (F, Cl, Br, I, At).
Possible values: true, false.
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: true, false.
Examples:
atom.hetatm(short version:a.het): matches atoms with HETATM recordnode.type atom and not (atom.symbol H, C)(short version:n.t a and not (a.s H, 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.atom.hybridization SP2, SP3(short version:a.hy sp2, sp3): matches atoms with SP2 or SP3 hybridization.
lanthanide#
The atom.lanthanide attribute matches atoms from the lanthanide subcategory.
Possible values: true, false.
mass#
The atom.mass attribute (short name: a.cgm) matches atoms with specific mass.
Possible values: mass.
Examples:
atom.mass > 16Da(short version:a.cgm > 16Da): matches coarse-grained atoms with their mass greater than 16 daltonatom.mass 14Da:19Da(short version:a.cgm 14Da:19Da): matches coarse-grained atoms that have mass between 14 and 19 daltons
metal#
The atom.metal attribute (short name: a.met) matches atoms from metal subcategories.
Possible values: true, false.
Examples:
atom.metal(short version:a.met): matches atoms from metal subcategoriesnode.type atom and not atom.metal(short version:n.t a and not a.met): matches atoms that are not from metal subcategories
metalloid#
The atom.metalloid attribute matches atoms from the metalloid subcategory.
Possible values: true, false.
mobile#
Deprecated: use fixed instead.
The atom.mobile attribute (short name: a.mo) matches atoms that are mobile.
Possible values: true, false.
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: true, false.
Examples:
atom.fixed(short version:a.f): matches fixed atomsnode.type atom and not atom.fixed(short version:n.t a and not a.f): matches non-fixed atoms
nobleGas#
The atom.nobleGas attribute matches atoms from the noble gas subcategory.
Possible values: true, false.
nonPolarHydrogen#
The atom.nonPolarHydrogen attribute (short name: a.hnp) matches non-polar hydrogens. See also: polarHydrogen.
Possible values: true, false.
nucleicAcidBackbone#
The atom.nucleicAcidBackbone attribute (short name: a.nabb) matches atoms that belong to a nucleic acid backbone.
Possible values: true, false.
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 3(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.5atom.occupancy 0.6:0.7(short version:a.oc 0.6: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: true, false.
Examples:
atom.planar(short version:a.pl): matches planar atoms
polarHydrogen#
The atom.polarHydrogen attribute (short name: a.hp) matches polar hydrogens. Polar hydrogens are hydrogens attached to atoms with significantly larger electronegativity: N, O, S, F, Cl.
Possible values: true, false.
reactiveNonmetal#
The atom.reactiveNonmetal attribute matches atoms from the reactive nonmetal subcategory.
Possible values: true, false.
polyatomicNonmetal#
The atom.polyatomicNonmetal attribute matches atoms from the polyatomic nonmetal subcategory (C, P, S, Se).
Possible values: true, false.
postTransitionMetal#
The atom.postTransitionMetal attribute matches atoms from the post-transition metal subcategory.
Possible values: true, false.
residueSequenceNumber#
The atom.residueSequenceNumber attribute (short name: a.resi) matches atoms in residues with specific IDs.
Possible values: integers.
Examples:
atom.residueSequenceNumber 12(short version:a.resi 12): matches atoms in residues with ID 12atom.residueSequenceNumber 12:97(short version:a.resi 12:97): matches atoms in residues with IDs between 12 to 97
resonance#
The atom.resonance attribute (short name: a.reso) matches resonant atoms.
Possible values: true, false.
Examples:
atom.resonance(short version:a.reso): matches resonant atomsnode.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 greater than 20atom.serialNumber 20:897(short version:a.sn 20:897): matches atoms with serial number between 20 and 897
substructureSequenceNumber#
The atom.substructureSequenceNumber attribute (short name: a.sgi) matches atoms in structural groups with specific IDs.
Possible values: integers.
Examples:
atom.substructureSequenceNumber 1000(short version:a.sgi 1000): matches atoms in structural groups with ID 1000atom.substructureSequenceNumber 10:40(short version:a.sgi 10:40): matches atoms in structural groups with IDs between 12 to 97
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 atomsatom.symbol O, N(short version:a.s O, N): matches atoms that are oxygens and nitrogens
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 2atom.temperatureFactor 10:50(short version:a.tf 10:50): matches atoms with a temperature factor between 10 and 50
transitionMetal#
The atom.transitionMetal attribute matches atoms from the transition metal subcategory.
Possible values: true, false.
vanDerWaalsRadius#
The atom.vanDerWaalsRadius attribute (short name: a.vdwr) matches atoms with specific van der Waals radius.
Possible values: length.
Examples:
atom.vanDerWaalsRadius > 2A(short version:a.vdwr > 2A): matches atoms with their van der Waals radius greater than 2Aatom.vanDerWaalsRadius 1.5A:2A(short version:a.vdwr 1.5A:2A): matches atoms that have van der Waals radius between 1.5A and 2A
water#
The atom.water attribute (short name: a.w) matches atoms with the water flag.
Possible values: true, false.
Examples:
atom.water(short version:a.w): matches water atomsatom.symbol O and atom.water(short version:a.s O and a.w): matches oxygen atoms that have the water flagatom.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 angstromatom.y < 2.0 nm(short version:a.y < 2.0 nm): matches atoms whose y coordinate is less than 2 nmatom.z > 100 pm(short version:a.z > 100 pm): matches atoms whose z coordinate is greater than 100 pmatom.x 1nm:10nm(short version:a.x 1nm:10nm): matches atoms whose x coordinate is between 1 nm and 10 nmatom.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