SelectAtom

NAME

SelectMol   - select molecules
SelectRes   - select residues
SelectAtom  - select atoms
SelectBond  - select bonds
SelectAngle - select angles
SelectDist  - select distances
SelectPrim  - select primitives
SYNOPSIS

SelectMol expr
SelectRes expr
SelectAtom expr
SelectBond expr
SelectAngle expr
SelectDist expr
SelectPrim expr
DESCRIPTION

Select molecules, residues, atoms, bonds, angles, distances or primitives that satisfy a conditions specified by an expression. The expression must give a result of type boolean (truth value).

There are two special values not covered by the expression syntax below. If an empty string is given as expression, everything is selected. If the value "0" is given, nothing is selected (i. e. everything deselected).

The following is a formal sytax description of expressions in EBNF notation. Typical examples are shown in the next section.

  expr       = andExpr { "|" andExpr } .
  andExpr    = relExpr { "&" relExpr } .
  relExpr    = simpleExpr [ relOp setExpr ] .
  relOp      = "=" | "!=" | "<=" |
               "<" | ">=" | ">" .
  setExpr    = rangeExpr { "," rangeExpr } .
  rangeExpr  = simpeExpr [ ".." simpleExpr ] .
  simpleExpr = term { addOp term } .
  addOp      = "+" | "-" .
  term       = factor { mulOp factor } .
  mulOp      = "*" | "/" | "%" .
  factor     = [ "-" | "sqrt" | "log" | "!" ] primary .
  primary    = constant | designator | "(" expr ")" .
  constant   = string | int | float .
  designator = [ qual "." ] field [ "[" int "]" ] .
  qual       = "mol" | "mol1" | "mol2" |
               "res" | "res1" | "res2" | "atom" |
               "atom1" | "atom2" | "atom3" | "atom4" |
               "bond" | "angle" | "dist" | "prim" .
  field      = "num" | "number" | "name" | "attr" |
               "shift" | "bfactor" | "vdw" | "d" |
               "charge" | "heavycharge" |
               "avgcharge" | "simplecharge" |
               "len" | "val" | "limit" | "viol" |
               "upl" | "lol" | "hbond" |
               propertyName .
For simple selections, there is a shorter notation of the form:

  expr       = exprPart { exprPart } .
  exprPart   = [ "#" molSet ] [ ":" resSet ]
               [ "@" atomSet ] .
  molSet     = molSel { "," molSel } .
  molSel     = string | range .
  resSet     = resSel { "," resSel } .
  resSel     = string | range .
  atomSet    = string { "," string ) .
  range      = int ".." int | int "-" int .
Strings are not quoted in this notation.

The full and the short notation can be mixed, in this case a part written in the short notation behaves like a primary with a boolean value.

EXAMPLES

SelectAtom 'name = "C*"'
    # C atoms
SelectAtom 'name = "CA" & res.num < 10 &
    bfactor > 2.0'
    # CA atoms in residues with number less than 10
    # and with B factor larger than 2
SelectAtom 'res.num = 10 & name = "CA"'
SetRef
SelectAtom 'd < 5.0'
    # atoms with distance less than 5.0 from CA
    # of residue 10
SelectBond 'atom1.name = "CA" & atom2.name = "CB"'
    # bonds from CA to CB
SelectAngle 'name = "OMEGA" & (val < 170 | val > 190)'
    # omega angles outside the range from 170 to 190
SelectDist 'res1.num = 7 | res2.num = 7'
    # distances involving residue 7
DefPropDist 'hnd' 'atom1.name = "HN" |
    atom2.name = "HN"'
    # define property 'hnd' as all distances that
    # have a HN atom on one side
SelectDist 'hnd & viol > 1.5'
    # constraints from HN atoms that have a violation
    # of more than 1.5
SelectDist '! hnd & viol > 2.0'
    # constraints that do not have a HN atom on either
    # side and that have a violation of more than 2.0
SelectPrim 'mol.num = 2'
    # primitives belonging to molecule number 2
DefPropRes 'helix' 'mol.name = "bpti*" &
    res.num = 47..56'
    # define helix region of all molecules that have a
    # name starting with "bpti"
SelectAtom 'name = "CA" & res.helixres'
    # CA atoms in helix region
SelectAtom '#1-5:10-20,25-30@N,CA,C'
    # N, CA and C atoms of residues 10 to 20 and 25 to 30
    # in molecules 1 to 5
SelectAtom ':7@HN :12@HA'
    # HN of residue 7 and HA of residue 12
SEE ALSO

DialSelect, DefProp*, DialMol, SetRef

DATE

991016


Reto Koradi, kor@mol.biol.ethz.ch