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 A a.alt B, C |
aminoAcidBackbone | aabb |
true , false |
a.aabb |
aromatic | ar |
true , false |
a.ar |
chain | c |
characters (A, B, ...) | a.c A a.c B,C |
chainID | ci |
integers | a.ci 1 |
coarseGrainedMass | cgm |
mass | a.cgm > 50Da a.cgm 50Da:75Da |
coarseGrainedRadius | cgr |
length | a.cgr > 0.5A a.cgr 0.5A:1A |
coarseGrainedType | cgt |
names | a.cgt P4 a.cgt C3, C5 |
customType | ct |
integers | a.ct 1 |
element | e |
element names | a.e Carbon a.e Nitrogen, Oxygen |
formalCharge | fc |
integers | a.fc > 1 a.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 42 a.resi 40:50,100 |
resonance | reso |
true , false |
a.reso |
serialNumber | sn |
integers | a.sn > 1000 |
substructureSequenceNumber | sgi |
integers | a.sgi 42 a.sgi 40:50,100 |
sybyl | sy |
SYBYL types | a.sy C.2 a.sy C.2, C.3 |
symbol | s |
element symbols | a.s Ca a.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 6 a.at 6,8 |
covalentRadius | cr |
length | a.cr > 0.6A a.cr 0.6A:1A |
vanDerWaalsRadius | vdwr |
length | a.vdwr > 2A a.vdwr 1.5A:2A |
electronegativity | en |
floats | a.en > 2 a.en 1.57:3 |
mass | m |
mass | a.m < 16Da a.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