These objects are constructed and applied to the group
Currently all atom arrays are handled internally as sets, but returned as AtomGroups
A BackboneSelection contains all atoms with name ‘N’, ‘CA’, ‘C’, ‘O’.
This excludes OT* on C-termini (which are included by, eg VMD’s backbone selection).
Selection of atoms in nucleobases.
Recognized atom names (from CHARMM):
‘N9’, ‘N7’, ‘C8’, ‘C5’, ‘C4’, ‘N3’, ‘C2’, ‘N1’, ‘C6’, ‘O6’,’N2’,’N6’, ‘O2’,’N4’,’O4’,’C5M’
Select atoms named CA in protein residues (supposed to be the C-alphas)
A NucleicBackboneSelection contains all atoms with name “P”, “C5’”, C3’”, “O3’”, “O5’”.
These atoms are only recognized if they are in a residue matched by the NucleicSelection.
A nucleic selection consists of all atoms in nucleic acid residues with recognized residue names.
Recognized residue names:
awk ‘/RESI/ {printf “’”’”%s”’”’,”,$2 }’ top_all27_prot_na.rtf
recognized (CHARMM in Gromacs): ‘DA’, ‘DU’, ‘DC’, ‘DG’, ‘DT’
Changed in version 0.8: additional Gromacs selections (see also NucleicXstalSelection)
A NucleicSugarSelection contains all atoms with name C1’, C2’, C3’, C4’, O2’, O4’, O3’.
Some of the possible properties: x, y, z, radius, mass,
A protein selection consists of all residues with recognized residue names.
Recognized residue names in ProteinSelection.prot_res.
- from the CHARMM force field::
awk ‘/RESI/ {printf “’”’”%s”’”’,”,$2 }’ top_all27_prot_lipid.rtf
manually added special CHARMM, OPLS/AA and Amber residue names.
still missing: Amber N- and C-terminal residue names
Dictionary of recognized residue names (3- or 4-letter).
A small parser for selection expressions. Demonstration of recursive descent parsing using Precedence climbing (see http://www.engr.mun.ca/~theo/Misc/exp_parsing.htm). Transforms expressions into nested Selection tree.
For reference, the grammar that we parse is
E(xpression)--> Exp(0)
Exp(p) --> P {B Exp(q)}
P --> U Exp(q) | "(" E ")" | v
B(inary) --> "and" | "or"
U(nary) --> "not"
T(erms) --> segid [value]
| resname [value]
| resid [value]
| name [value]
| type [value]