Knowledge discovery with MMQL
Example 1. Search for alpha helices with a proline in position 5.
% Collect all alpha helices in Variable P1.
$P1 = #SecondaryStructurePattern (Alpha) ;
% Collect the subentities in the fifth position of an alpha helix in
% Variable P2.
$P2=$P1 >> 4 ;
% Collect those subentities which are a proline and store in Variable P3.
$P3=$P2 #SequencePattern (PRO) ;
% Select those helices that have a proline at position 5.
$P4= $P1 | $P3 ;
Example 2. Search for a Greek key motif.
% Read a starting set of structures from a file list1.r.
$INPUT !READ [list1.r] ;
% Determine those structures with at least 5 contiguous beta strands.
$BETA_CLUSTER = $INPUT #SecondaryStructurePattern
(Beta) (Beta) (Beta) (Beta) (Beta) ;
% Define a Variable for each strand in the cluster.
$BETA1 = $BETA_CLUSTER #SecondaryStructurePattern element=1
(Beta) (Beta) (Beta) (Beta) (Beta) ;
$BETA2 = $BETA_CLUSTER #SecondaryStructurePattern element=2
(Beta) (Beta) (Beta) (Beta) (Beta) ;
$BETA3 = $BETA_CLUSTER #SecondaryStructurePattern element=3
(Beta) (Beta) (Beta) (Beta) (Beta) ;
$BETA4 = $BETA_CLUSTER #SecondaryStructurePattern element=4
(Beta) (Beta) (Beta) (Beta) (Beta) ;
$BETA5 = $BETA_CLUSTER #SecondaryStructurePattern element=5
(Beta) (Beta) (Beta) (Beta) (Beta) ;
% Define appropriate hydrogen bonding scheme between strands in the
% cluster.
$H_BONDING1 = $BETA1 $BETA4 $HBondingPattern period=1
(1O,3N) (2N,2O) (2O,2N) (3N,1O) ;
$H_BONDING2 = $BETA4 $BETA3 $HBondingPattern period=1
(1O,3N) (2N,2O) (2O,2N) (3N,1O) ;
$H_BONDING3 = $BETA3 $BETA2 $HBondingPattern period=1
(1O,3N) (2N,2O) (2O,2N) (3N,1O) ;
$H_BONDING4 = $BETA2 $BETA5 $HBondingPattern period=1
(1O,3N) (2N,2O) (2O,2N) (3N,1O) ;
% Select those beta clusters that have the appropriate hydrogen bonding
% schemes
$BETA_CLUSTER = $BETA_CLUSTER | $H_BONDING1 ;
$BETA_CLUSTER = $BETA_CLUSTER | $H_BONDING2 ;
$BETA_CLUSTER = $BETA_CLUSTER | $H_BONDING3 ;
$GREEK_KEY = $BETA_CLUSTER | $H_BONDING4 ;
% Write details of structures found to have Greek key to file greek_key.w
$GREEK_KEY !WRITE [greek_key.w] ;
Back to The MMQL Home Page