From WebChem Wiki
Jump to: navigation, search

LiteMol has an atom selection language available, similar to other structure visualization tools such as VMD or PyMOL. The LiteMol selection algebra is inspired by our other service - PatternQuery. While in the present version the selection syntax will be mainly used by method developers, syntax enabling the use of PyMOL and possibly VMD selection algebra will be introduced in the near future.

LiteMol selection algebra

Molecular selections can be created in two different active contexts - model of molecule or molecule visual. If either of the contexts is active in the entity tree, the right panel is populated with the Selection action. Next, you can create a named selection using the dedicated query language and further modify the visual part of your selection.

 Notice: Arguments of LiteMol selection queries are case sensitive!

Meaning: GLY is a common non-polar residue found in PDB entries, whereas Gly, gly, or G do not exist.

Basic queries

List of selection queries
Query definition Example Selection description
atomsByElement(elements: string[]) atomsByElement('C'), atomsByElement('C','O') Atoms based on their element symbol (field _atom_site.type_symbol).
atomsByName(elements: string[]) atomsByName('C'), atomsByName('N','CA','C','O') Atoms based on their atom name (field _atom_site.label_atom_id).
atomsById(numbers: number[]) atomsById(1), atomsById(1,2,3) Atoms based on their integer identifier (field ).
residuesByName(elements: string[]) residuesByName('GLY'), residuesByName('ALA', 'PO4') Residues based on their residue name (field _atom_site.label_comp_id).
residuesById(numbers: number[]) residuesById(100), residuesById(42,157,238) Residues based on integer identified (field _atom_site.auth_seq_id).
chainsById(elements: string[]) chainsById('A'), chainsById('A', 'B') Polymer chains based on their id (field _atom_site.auth_asym_id).
backbone() backbone() Extracts structure backbone defined by certain atom names. Protein: N, CA, C, O. Nucleotide: P, OP1, OP2, O3' , O5' , C3' , C5' .
sidechain() sidechain() Complement to the previous query, i.e. all polymer atoms without such name are reported.
hetGroups() hetGroups() HETATM atoms defined by the field _atom_site.group_PDB.
nonHetPolymer() nonHetPolymer() ATOM atoms defined by the field _atom_site.group_PDB.
cartoon() cartoon() Extracts atoms vital for polymer cartoon visualization based on their names: CA, O, O5' , C3' , N3.
everything() everything() All atoms in the active context.

Advanced queries

List of selection queries



Selection description

inside(where: Selection, sel: Selection) residuesByName('GLY').inside(chainsById('A')) Finds selection within another selection.
ambientResidues(where: Selection, nmb: number ) residuesByName('HEM').ambientResidues(5) Surrounds the inner selection by residues that have at least one atom within the given radius
wholeResidues(where: Selection) atomsByElement('Pt').wholeResidues() Surrounds the inner selection by all atoms of residue's origin.

Logical queries

List of selection queries
Query Examples Selection description
or(selections: Selection[]) or(residuesByName('HEM').ambientResidues(5), chainsById('A')) Merges several selections.
intersectWith(where: Selection, sel: Selection) residuesByName('HEM').ambientResidues(5).intersectWith(chainsById('A')) Finds intersection between two selections.
complement(where: Selection) chainsById('A').complement() Finds the complement of the inner selection to the active context.