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 |
| heavy | nonH |
true, false |
a.heavy |
| hetatm | het |
true, false |
a.het |
| hybridization | hy |
See atom hybridization | a.hy sp2 |
| hydrogenBondAcceptor | hba |
true, false |
a.hba |
| hydrogenBondDonor | hbd |
true, false |
a.hbd |
| donorBorneHydrogen | dbh |
true, false |
a.dbh |
| fixed | f |
true, false |
a.f |
| inRing | true, false |
a.inRing |
|
| nonPolarHydrogen | hnp |
true, false |
a.hnp |
| nucleicAcidBackbone | nabb |
true, false |
a.nabb |
| numberOfBondedAtoms | nba |
integers | a.nba > 2 |
| numberOfBondedCarbons | nbc |
integers | a.nbc > 2 |
| numberOfBondedHeavyAtoms | nbha |
integers | a.nbha 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 |
| ringSize | integers | a.ringSize 5,6 |
|
| 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 heavy atoms that belong to an amino-acid backbone.
Possible values: true, false.
Examples:
atom.aminoAcidBackbone(short version:a.aabb): matches heavy 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: integers.
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 units.
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 units.
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 units.
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: integers.
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:
| Attribute name | Short name |
|---|---|
linear |
l |
bent |
b |
trigonalplanar |
tpl |
trigonalpyramidal |
tpy |
tshaped |
ts |
tetrahedral |
tet |
squareplanar |
spl |
seesaw |
ss |
trigonalbipyramidal |
tb |
squarepyramidal |
spy |
pentagonalplanar |
ppl |
octahedral |
o |
trigonalprismatic |
tpr |
pentagonalpyramidal |
ppy |
pentagonalbipyramidal |
pbp |
cappedoctahedral |
co |
cappedtrigonalprismatic |
ctp |
squareantiprismatic |
sa |
dodecahedral |
d |
bicappedtrigonalprismatic |
btp |
tricappedtrigonalprismatic |
ttp |
cappedsquareantiprismatic |
csa |
undefined |
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.
heavy#
The atom.heavy attribute (short name: a.nonH) matches heavy atoms (i.e., non-Hydrogens).
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:
| Attribute name | Aliases |
|---|---|
none |
n |
SP |
sp |
SP2 |
sp2 |
SP3 |
sp3 |
SP3D |
sp3d |
SP3D2 |
sp3d2 |
unknown |
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.
hydrogenBondAcceptor#
The atom.hydrogenBondAcceptor (short version: a.hba) attribute matches hydrogen-bond acceptors.
Possible values: true, false.
hydrogenBondDonor#
The atom.hydrogenBondDonor (short version: a.hbd) attribute matches hydrogen-bond donors.
Possible values: true, false.
donorBorneHydrogen#
The atom.donorBorneHydrogen (short version: a.dbh) attribute matches donor-linked hydrogens in hydrogen bonds (i.e., donor-born hydrogens).
Possible values: true, false.
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 units.
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
inRing#
The atom.inRing attribute matches atoms that are in rings.
Possible values: true, false.
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 heavy atoms that belong to a nucleic acid backbone.
Possible values: true, false.
Examples:
atom.nucleicAcidBackbone(short version:a.nabb): matches heavy 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
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
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
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
ringSize#
The atom.ringSize attribute matches atoms that are only in rings with the specified number of atoms. If an atom is in two rings of different size at the same time, then it will return the smalles ring size.
Possible values: integers.
Examples:
atom.ringSize 6: matches atoms that are in a ring with 6 atoms.atom.ringSize 5,6: matches atoms that are in a ring with 5 or 6 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 units.
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: length units.
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