Jump to content

LiteMol:SelectionAlgebra: Difference between revisions

From WebChemistry Wiki
Created page with "LiteMol has an atom selection language available, similarly to the other structure visualization tools such as VMD or PyMOL. The '''LiteMol selection algebra''' is inspired by..."
 
No edit summary
Line 10: Line 10:


Meaning: GLY is a common non-polar residue found in the PDB entries, whereas Gly, or gly does not exist.  
Meaning: GLY is a common non-polar residue found in the PDB entries, whereas Gly, or gly does not exist.  
 
==Basic queries==
{| class="wikitable"
{| class="wikitable"
! colspan="3" | List of selection queries
! colspan="3" | List of selection queries
Line 32: Line 32:
| <code>  atomsById(1), atomsById(1,2,3) </code>
| <code>  atomsById(1), atomsById(1,2,3) </code>
| Atoms based on their integer identifier (field ''_atom_site.id '').
| Atoms based on their integer identifier (field ''_atom_site.id '').
|-
| <code>  atomsByName() </code>
| <code>  atomsByName('C'), atomsByName('N', 'CA', 'C', 'O') </code>
| Atoms based on their atom name (field ''_atom_site.label_atom_id'').
|-
|-
| <code>  residuesByName() </code>
| <code>  residuesByName() </code>
Line 45: Line 41:
| Residues based on integer identified (field ''_atom_site.auth_seq_id'').
| Residues based on integer identified (field ''_atom_site.auth_seq_id'').
|-
|-
| <code>  chains() </code>
| <code>  chainsById() </code>
| <code>  chains('A'), chains('A','B','C') </code>
| <code>  chainsById('A'), chainsById('A', 'B') </code>
| Polymer chains based on their id (field ''_atom_site.auth_asym_id'').
| Polymer chains based on their id (field ''_atom_site.auth_asym_id'').
|-
| <code> backbone() </code>
| <code> backbone() </code>
| Extracts structure backbone defined by certain atom names. '''Protein:''' ''N'', ''CA'', ''C'', ''O''. '''Nucleotide:''' ''P'', ''OP1'', ''OP2'', ''O3' '', ''O5' '', ''C3' '', ''C5' ''
|-
| <code> sidechain() </code>
| <code> sidechain() </code>
| Complement to the previous query, i.e. all ''polymer'' atoms without such name are reported.
|-
| <code> hetGroups() </code>
| <code> hetGroups() </code>
| ''HETATM'' atoms defined by the field ''_atom_site.group_PDB''.
|-
| <code> nonHetPolymer() </code>
| <code> nonHetPolymer() </code>
| ''ATOM'' atoms defined by the field ''_atom_site.group_PDB''.
|-
|<code> cartoon() </code>
|<code> cartoon() </code>
| Extracts atoms vital for ''polymer'' cartoon visualization based on their names: ''CA'', ''O'', ''O5' '', ''C3' '', ''N3''
|-
| <code> everything() </code>
| <code> everything() </code>
| All atoms in the active context.
|-
|}
==Advanced queries==
{| class="wikitable"
! colspan="3" | List of selection queries
|-
!
Query
!
Examples
!
Selection description
|-
| <code>  inside() </code>
| <code>  residuesByName('GLY').inside(chainsById('A')) </code>
| All ''Gly'' residues on the ''A'' chain
|-
| <code>  ambientResidues() </code>
| <code>  residuesByName('HEM').ambientResidues(5) </code>
| Blabla
|-
| <code>  wholeResidues() </code>
| <code>  atomsByElement('Pt').wholeResidues() </code>
| Blabla
|-
|}
|}


{{huge | TODO inside query and logical combinations}}
==Logical queries==
{| class="wikitable"
! colspan="3" | List of selection queries
|-
!
Query
!
Examples
!
Selection description
|-
| <code>  or() </code>
| <code>  or() </code>
| blabla
|-
| <code>  intersectWith() </code>
| <code>  residuesByName('HEM').ambientResidues(5).intersectWith(chainsById('A')) </code>
| All the ...
|-
| <code>  wholeResidues() </code>
| <code>  atomsByElement('Pt').wholeResidues() </code>
| Blabla
|-
|}


==PyMOL==
==PyMOL==

Revision as of 17:23, 3 April 2017

LiteMol has an atom selection language available, similarly to the other structure visualization tools such as VMD or PyMOL. The LiteMol selection algebra is inspired by our other service - PatternQuery, although in the present version the amount of integrated queries is somewhat limited. Additionally, as a feature LiteMol will contain a parser of syntax enabling the use of PyMOL and possibly VMD selection algebra.


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 named selection using dedicated query language and further modify the visual part of your selection.


{{#if: Notice:

| Notice: |large }} Arguments of LiteMol selection queries are case sensitive!

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

Basic queries

List of selection queries

Query

Examples

Selection description

atomsByElement() atomsByElement('C'), atomsByElement('C','O') Atoms based on their element symbol (field _atom_site.type_symbol).
atomsByName() atomsByName('C'), atomsByName('N','CA','C','O') Atoms based on their atom name (field _atom_site.label_atom_id).
atomsById() atomsById(1), atomsById(1,2,3) Atoms based on their integer identifier (field _atom_site.id ).
residuesByName() residuesByName('GLY'), residuesByName('ALA', 'HEM', 'PO4') Residues based on their residue name (field _atom_site.label_comp_id).
residuesById() residuesById(100), residuesById(42,157,238) Residues based on integer identified (field _atom_site.auth_seq_id).
chainsById() 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

Query

Examples

Selection description

inside() residuesByName('GLY').inside(chainsById('A')) All Gly residues on the A chain
ambientResidues() residuesByName('HEM').ambientResidues(5) Blabla
wholeResidues() atomsByElement('Pt').wholeResidues() Blabla

Logical queries

List of selection queries

Query

Examples

Selection description

or() or() blabla
intersectWith() residuesByName('HEM').ambientResidues(5).intersectWith(chainsById('A')) All the ...
wholeResidues() atomsByElement('Pt').wholeResidues() Blabla

PyMOL

In preparation...

VMD

In preparation...