PatternQuery:Use Cases
From WebChem Wiki
In this section you can find several biologically relevant examples of different queries.
Contents
Find all post-translational modified aminoacids
- i.e. Those incorporated in the protein backbone and not hetero atoms
NotAminoAcids().
Filter(lambda m: m.Count(HetResidues()) == 0)
NotAminoAcids().
Filter(lambda m: m.Contains(HetResidues()).Not())
Find all heteroatoms, which are not covalently bonded to the protein structure
- Takes all the heteroatoms and queries them for being connected to any amino acid of a given protein
HetResidues().
Filter(lambda m: m.IsNotConnectedTo(AminoAcids()))
Identify Zinc fingers
- There is a variety of different zinc fingers based on the surrounding residues, in our example we will focus on those comprising two zinc and two his residues (Cys2His2).
Atoms("Zn").
ConnectedResidues(1).
Filter(lambda m:
(m.Count(Residues("His")) == 2) & (m.Count(Residues("Cys")) == 2))
At first the zinc atoms are selected together with their bonded residues. Additionally, these patterns are filtered according to the content of their amino acids.
Identify all the residues, which contain a sugar ring
- This task can be decomposed to two individual subtasks, since sugars contain either pentose or furanose ring. Pentose ring contains 4 carbon and an oxygen atom. Similarly, furanose ring is composed of 5 carbon atoms and an oxygen atom.
Or(Rings(4 * ["C"] + ["O"]).ConnectedResidues(0),
Rings(5 * ["C"] + ["O"]).ConnectedResidues(0))
Ring()
queries, we select only the ring part of the molecule. By extending the Ring()
query with ConnectedResidues(0)
Or()
Identify all binding sites of PA-IIL lectin in different organisms
- Binding sites of this type of lectin comprise of two calcium atoms close to each other and a binded sugar residue.
Near(4, Atoms("Ca"), Atoms("Ca"))
.ConnectedResidues(1)
.Filter(lambda l:
l.Count(Or(Rings(5 * ["C"] + ["O"]), Rings(4 * ["C"] + ["O"]))) > 0)
.Filter(lambda l: l.Count(Atoms("P")) == 0)
Near(4, Atoms("Ca"), Atoms("Ca"))
(Rings(5 * ["C"] + ["O"]))
(Rings(4 * ["C"] + ["O"]))